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 Strichen zurück, die im angegebenen Bereich enthalten sind.
Überlädt
| Name | Beschreibung |
|---|---|
| HitTest(Rect, Int32) |
Gibt eine Auflistung von Strichen zurück, die mindestens den angegebenen Prozentsatz der Länge innerhalb des angegebenen Rechtecks aufweisen. |
| HitTest(Point, Double) |
Gibt eine Auflistung von Strichen zurück, die den angegebenen Bereich schneiden. |
| HitTest(IEnumerable<Point>, StylusShape) |
Gibt eine Auflistung von Strichen zurück, die sich mit dem angegebenen Pfad schneiden. |
| HitTest(IEnumerable<Point>, Int32) |
Gibt eine Auflistung von Strichen zurück, die mindestens den angegebenen Prozentsatz der Länge innerhalb des angegebenen Bereichs aufweisen. |
| HitTest(Point) |
Gibt eine Auflistung von Strichen zurück, die den angegebenen Punkt schneiden. |
HitTest(Rect, Int32)
Gibt eine Auflistung von Strichen zurück, die mindestens den angegebenen Prozentsatz der Länge innerhalb des angegebenen Rechtecks 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 minimale erforderliche Länge eines Strichs, der innerhalb der Grenzen vorhanden sein muss, damit er als Treffer angesehen wird.
Gibt zurück
Ein StrokeCollection Strich mit mindestens dem angegebenen Prozentsatz innerhalb des Rect.
Beispiele
Im folgenden Beispiel werden die Striche gelöscht, die mindestens 50% innerhalb der Grenzen der Rect. In diesem Beispiel wird davon ausgegangen, dass ein aufgerufener InkPresenter Vorgang vorhanden presenterist.
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 schneiden.
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
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 die angegebene PointStriche überschneiden. In diesem Beispiel wird davon ausgegangen, dass ein aufgerufener InkPresenter Vorgang vorhanden presenterist.
// 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 sich mit dem angegebenen Pfad schneiden.
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 zum Eingeben Point , das den Pfad darstellt, der getestet werden soll.
- stylusShape
- StylusShape
Dies StylusShape gibt die Form von eraserPath.
Gibt zurück
A StrokeCollection of strokes that intersect with path.
Beispiele
Im folgenden Beispiel wird die Farbe aller Striche geändert, die den vom Array erstellten Point Pfad schneiden. In diesem Beispiel wird davon ausgegangen, dass ein aufgerufener InkPresenter Vorgang vorhanden presenterist.
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 mindestens den angegebenen Prozentsatz der Länge innerhalb des angegebenen Bereichs 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 zu prüfenden Bereichs darstellt.
- percentageWithinLasso
- Int32
Die zulässige Länge der Strokeals Prozentsatz lassoPoints einzudämmende Länge.
Gibt zurück
Ein StrokeCollection Strich mit mindestens dem angegebenen Prozentsatz innerhalb des Point Arrays.
Ausnahmen
lassoPoints enthält ein leeres Array.
percentageWithinLasso ist kleiner als 0 oder größer als 100.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie alle Striche entfernt werden, die mindestens 80 Prozent innerhalb des angegebenen Lassos von einem StrokeCollection. Dies ist nützlich, wenn ein benutzerdefiniertes Steuerelement dem Benutzer das Auswählen von Freihandeingaben mit einem Lasso ermöglicht. Informationen zum Erstellen eines Steuerelements, mit dem ein Benutzer Freihandeingaben mit einem Lasso auswählen kann, finden Sie unter How to: Select Ink from a Custom Control.
// 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 schneiden.
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 Punkt zum Treffertest.
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 die angegebene PointStriche überschneiden. In diesem Beispiel wird davon ausgegangen, dass ein aufgerufener InkPresenter Vorgang vorhanden presenterist.
// 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