StrokeCollection.HitTest Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine Auflistung von innerhalb des angegebenen Bereichs enthaltenen Strichen zurück.
Überlädt
HitTest(Rect, Int32) |
Gibt eine Auflistung von Strichen zurück, die im angegebenen Rechteck eine Länge von mindestens dem angegebenen Prozentsatz aufweisen. |
HitTest(Point, Double) |
Gibt eine Auflistung von Strichen zurück, die den angegebenen Bereich überschneiden. |
HitTest(IEnumerable<Point>, StylusShape) |
Gibt eine Auflistung von Strichen zurück, die den angegebenen Pfad überschneiden. |
HitTest(IEnumerable<Point>, Int32) |
Gibt eine Auflistung von Strichen zurück, die im angegebenen Bereich eine Länge von mindestens dem angegebenen Prozentsatz aufweisen. |
HitTest(Point) |
Gibt eine Auflistung von Strichen zurück, die den angegebenen Punkt überschneiden. |
HitTest(Rect, Int32)
Gibt eine Auflistung von Strichen zurück, die im angegebenen Rechteck eine Länge von mindestens dem angegebenen Prozentsatz aufweisen.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Rect bounds, int percentageWithinBounds);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Rect bounds, int percentageWithinBounds);
member this.HitTest : System.Windows.Rect * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (bounds As Rect, percentageWithinBounds As Integer) As StrokeCollection
Parameter
- percentageWithinBounds
- Int32
Die mindestens erforderliche Länge eines Strichs, die in den Grenzen vorhanden sein muss, damit dieser als Treffer gilt.
Gibt zurück
Eine StrokeCollection, die Striche mit mindestens dem angegebenen Prozentwert innerhalb des Rect enthält.
Beispiele
Im folgenden Beispiel werden die Striche gelöscht, die mindestens 50 % innerhalb der Grenzen von Rectliegen. In diesem Beispiel wird davon ausgegangen, dass es einen InkPresenter namens presenter
gibt.
Rect rect = new Rect(100, 100, 200, 200);
StrokeCollection strokes = presenter.Strokes.HitTest(rect, 50);
presenter.Strokes.Remove(strokes);
Dim rect As Rect = New Rect(100, 100, 200, 200)
Dim strokes As StrokeCollection = presenter.Strokes.HitTest(rect, 50)
presenter.Strokes.Remove(strokes)
Gilt für:
HitTest(Point, Double)
Gibt eine Auflistung von Strichen zurück, die den angegebenen Bereich überschneiden.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point, double diameter);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point, double diameter);
member this.HitTest : System.Windows.Point * double -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point, diameter As Double) As StrokeCollection
Parameter
- diameter
- Double
Die Größe des Bereichs um den Point, für den ein Treffertest durchgeführt werden soll.
Gibt zurück
Eine Auflistung von Stroke-Objekten, die den angegebenen Punkt überschneiden.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Die Striche abgerufen werden, die sich überschneiden.Point In diesem Beispiel wird davon ausgegangen, dass es einen InkPresenter namens presenter
gibt.
// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
StrokeCollection selected = presenter.Strokes.HitTest(position, 5);
foreach (Stroke s in selected)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)
Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)
Dim s As Stroke
For Each s In selected
s.DrawingAttributes.Color = Colors.Purple
Next s
End Sub
Gilt für:
HitTest(IEnumerable<Point>, StylusShape)
Gibt eine Auflistung von Strichen zurück, die den angegebenen Pfad überschneiden.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ path, System::Windows::Ink::StylusShape ^ stylusShape);
public System.Windows.Ink.StrokeCollection HitTest (System.Collections.Generic.IEnumerable<System.Windows.Point> path, System.Windows.Ink.StylusShape stylusShape);
member this.HitTest : seq<System.Windows.Point> * System.Windows.Ink.StylusShape -> System.Windows.Ink.StrokeCollection
Public Function HitTest (path As IEnumerable(Of Point), stylusShape As StylusShape) As StrokeCollection
Parameter
- path
- IEnumerable<Point>
Ein Array vom Typ Point, das den Pfad darstellt, für den ein Treffertest durchgeführt werden soll.
- stylusShape
- StylusShape
Der StylusShape, der die Form von eraserPath
angibt.
Gibt zurück
Eine StrokeCollection von Strichen, die path
überschneiden.
Beispiele
Im folgenden Beispiel wird die Farbe aller Striche geändert, die den Pfad überschneiden, der Point vom Array erstellt wird. In diesem Beispiel wird davon ausgegangen, dass es einen InkPresenter namens presenter
gibt.
private void HitTestWithEraser(Point[] points)
{
RectangleStylusShape eraser = new RectangleStylusShape(3, 3, 0);
StrokeCollection strokes = presenter.Strokes.HitTest(points, eraser);
foreach (Stroke s in strokes)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
Private Sub HitTestWithEraser(ByVal points() As Point)
Dim eraser As RectangleStylusShape = New RectangleStylusShape(3, 3, 0)
Dim strokes As StrokeCollection = presenter.Strokes.HitTest(points, eraser)
Dim s As Stroke
For Each s In strokes
s.DrawingAttributes.Color = Colors.Purple
Next
End Sub
Gilt für:
HitTest(IEnumerable<Point>, Int32)
Gibt eine Auflistung von Strichen zurück, die im angegebenen Bereich eine Länge von mindestens dem angegebenen Prozentsatz aufweisen.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints, int percentageWithinLasso);
public System.Windows.Ink.StrokeCollection HitTest (System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints, int percentageWithinLasso);
member this.HitTest : seq<System.Windows.Point> * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (lassoPoints As IEnumerable(Of Point), percentageWithinLasso As Integer) As StrokeCollection
Parameter
- lassoPoints
- IEnumerable<Point>
Ein Array vom Typ Point, das die Grenzen des Bereichs darstellt, für den ein Treffertest durchgeführt werden soll.
- percentageWithinLasso
- Int32
Die zulässige Länge des Stroke als Prozentwert, die in lassoPoints
enthalten sein darf.
Gibt zurück
Eine StrokeCollection, die Striche mit mindestens dem angegebenen Prozentwert innerhalb des Point-Arrays enthält.
Ausnahmen
lassoPoints
enthält ein leeres Array.
percentageWithinLasso
ist kleiner als 0 (null) oder größer als 100.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie alle Striche entfernt werden, die mindestens 80 Prozent innerhalb des angegebenen Lassos aus einem StrokeCollectionsind. Dies ist nützlich, wenn ein benutzerdefiniertes Steuerelement es dem Benutzer ermöglicht, Freihand mit einem Lasso auszuwählen. Informationen zum Erstellen eines Steuerelements, das es einem Benutzer ermöglicht, Freihand mit einem Lasso auszuwählen, finden Sie unter Vorgehensweise: Auswählen von Freihand aus einem benutzerdefinierten Steuerelement.
// Remove the strokes within the lasso from the InkPresenter
public void RemoveStrokes(Point[] lasso)
{
StrokeCollection strokes = presenter.Strokes.HitTest(lasso, 80);
presenter.Strokes.Remove(strokes);
}
' Remove the strokes within the lasso from the InkPresenter
Public Sub RemoveStrokes(ByVal lasso As Point())
If lasso Is Nothing Then
Return
End If
Dim strokes As StrokeCollection = _
presenter.Strokes.HitTest(lasso, 80)
presenter.Strokes.Remove(strokes)
End Sub
Gilt für:
HitTest(Point)
Gibt eine Auflistung von Strichen zurück, die den angegebenen Punkt überschneiden.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point);
member this.HitTest : System.Windows.Point -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point) As StrokeCollection
Parameter
- point
- Point
Der auf Treffer zu überprüfende Punkt.
Gibt zurück
Eine Auflistung von Stroke-Objekten, die den angegebenen Punkt überschneiden.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Die Striche abgerufen werden, die sich überschneiden.Point In diesem Beispiel wird davon ausgegangen, dass es einen InkPresenter namens presenter
gibt.
// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
StrokeCollection selected = presenter.Strokes.HitTest(position, 5);
foreach (Stroke s in selected)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)
Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)
Dim s As Stroke
For Each s In selected
s.DrawingAttributes.Color = Colors.Purple
Next s
End Sub