Stroke.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 zurück, ob sich die Stroke Schneidet oder innerhalb eines bestimmten Bereichs befindet.
Überlädt
| Name | Beschreibung |
|---|---|
| HitTest(Point) |
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke Punkt den angegebenen Punkt überschneidet. |
| HitTest(IEnumerable<Point>, Int32) |
Gibt einen Wert zurück, der angibt, ob sich der Aktuelle Stroke innerhalb der angegebenen Grenzen befindet. |
| HitTest(IEnumerable<Point>, StylusShape) |
Gibt zurück, ob der angegebene Pfad die angegebene schneidet.StrokeStylusShape |
| HitTest(Point, Double) |
Gibt einen Wert zurück, der angibt, ob sich der aktuelle Stroke Bereich überschneidet. |
| HitTest(Rect, Int32) |
Gibt einen Wert zurück, der angibt, ob sich der Stroke Bereich des angegebenen Rechtecks befindet. |
Hinweise
Mit den HitTest Methoden können Sie bestimmen, ob sich ein Stroke bestimmter Punkt überschneidet oder innerhalb der angegebenen Grenzen liegt.
Mit den folgenden Methoden wird überprüft, ob die Stroke überschneidend ist.
Mit den folgenden Methoden wird überprüft, ob die Stroke Umgebung umgeben ist.
HitTest(Point)
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke Punkt den angegebenen Punkt überschneidet.
public:
bool HitTest(System::Windows::Point point);
public bool HitTest(System.Windows.Point point);
member this.HitTest : System.Windows.Point -> bool
Public Function HitTest (point As Point) As Boolean
Parameter
Gibt zurück
true wenn point sich der aktuelle Strich überschneidet; falseandernfalls .
Beispiele
Im folgenden Beispiel wird die Farbe eines Stroke Bereichs geändert, wenn er einen bestimmten Bereich überschneidet.
Point myPoint = new Point(100, 100);
if (myStroke.HitTest(myPoint, 10))
{
myStroke.DrawingAttributes.Color = Colors.Red;
}
Dim myPoint As New System.Windows.Point(100, 100)
If myStroke.HitTest(myPoint, 10) Then
myStroke.DrawingAttributes.Color = Colors.Red
End If
Hinweise
Diese Methode verhält sich genauso wie die überladene HitTest(Point, Double) Methode, wenn diameter 1 ist.
Gilt für:
HitTest(IEnumerable<Point>, Int32)
Gibt einen Wert zurück, der angibt, ob sich der Aktuelle Stroke innerhalb der angegebenen Grenzen befindet.
public:
bool HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints, int percentageWithinLasso);
public bool HitTest(System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints, int percentageWithinLasso);
member this.HitTest : seq<System.Windows.Point> * int -> bool
Public Function HitTest (lassoPoints As IEnumerable(Of Point), percentageWithinLasso As Integer) As Boolean
Parameter
- lassoPoints
- IEnumerable<Point>
Ein Array vom Typ Point , das die Grenzen des Bereichs darstellt, der zum Treffertest verwendet werden soll.
- percentageWithinLasso
- Int32
Der Prozentsatz der Länge des Stroke, das für den lassoPoints als Treffer angesehen werden mussStroke.
Gibt zurück
true wenn sich der aktuelle Strich innerhalb der angegebenen Grenzen befindet; andernfalls false.
Beispiele
Im folgenden Beispiel wird ein Strich lila gerendert, wenn mindestens 80% des Strichs innerhalb der Grenzen des myPointsStrichs liegt.
Point[] myPoints = new Point[] {
new Point(100, 100),
new Point(200, 100),
new Point(200, 200),
new Point(100, 200)};
if (aStroke.HitTest(myPoints, 80))
{
aStroke.DrawingAttributes.Color = Colors.Purple;
}
Dim myPoints() As System.Windows.Point = _
{New System.Windows.Point(100, 100), _
New System.Windows.Point(200, 100), _
New System.Windows.Point(200, 200), _
New System.Windows.Point(100, 200)}
If aStroke.HitTest(myPoints, 80) Then
aStroke.DrawingAttributes.Color = Colors.Purple
End If
Hinweise
Die HitTest Methode verbindet die ersten und letzten Punkte, lassoPoints um das Lasso zu erstellen.
Gilt für:
HitTest(IEnumerable<Point>, StylusShape)
Gibt zurück, ob der angegebene Pfad die angegebene schneidet.StrokeStylusShape
public:
bool HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ path, System::Windows::Ink::StylusShape ^ stylusShape);
public bool 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 -> bool
Public Function HitTest (path As IEnumerable(Of Point), stylusShape As StylusShape) As Boolean
Parameter
- path
- IEnumerable<Point>
Der Pfad, der stylusShape für Treffertests folgt.
- stylusShape
- StylusShape
Die Form, path mit der der Test getroffen werden soll.
Gibt zurück
true wenn stylusShape sich der aktuelle Strich überschneidet; falseandernfalls .
Beispiele
Der folgende Code rendert einen Strich lila, wenn der Strich den Pfad von myPoints.
Point[] myPoints = new Point[] {
new Point(100, 100),
new Point(200, 100),
new Point(200, 200),
new Point(100, 200)};
EllipseStylusShape myStylus = new EllipseStylusShape(5.0, 5.0, 0.0);
if (aStroke.HitTest(myPoints, myStylus))
{
aStroke.DrawingAttributes.Color = Colors.Purple;
}
Dim myPoints() As System.Windows.Point = _
{New System.Windows.Point(100, 100), _
New System.Windows.Point(200, 100), _
New System.Windows.Point(200, 200), _
New System.Windows.Point(100, 200)}
Dim myStylus As New EllipseStylusShape(5.0, 5.0, 0.0)
If aStroke.HitTest(myPoints, myStylus) Then
aStroke.DrawingAttributes.Color = Colors.Purple
End If
Hinweise
Die HitTest Methode verwendet stylusShape , um den Strich entlang eraserPathzu testen.
Gilt für:
HitTest(Point, Double)
Gibt einen Wert zurück, der angibt, ob sich der aktuelle Stroke Bereich überschneidet.
public:
bool HitTest(System::Windows::Point point, double diameter);
public bool HitTest(System.Windows.Point point, double diameter);
member this.HitTest : System.Windows.Point * double -> bool
Public Function HitTest (point As Point, diameter As Double) As Boolean
Parameter
- diameter
- Double
Der Durchmesser des zu prüfenden Bereichs.
Gibt zurück
truewenn der angegebene Bereich den aktuellen Strich überschneidet; andernfalls . false
Beispiele
Im folgenden Beispiel wird die Farbe eines Stroke Bereichs geändert, wenn er einen bestimmten Bereich überschneidet.
Point myPoint = new Point(100, 100);
if (myStroke.HitTest(myPoint, 10))
{
myStroke.DrawingAttributes.Color = Colors.Red;
}
Dim myPoint As New System.Windows.Point(100, 100)
If myStroke.HitTest(myPoint, 10) Then
myStroke.DrawingAttributes.Color = Colors.Red
End If
Gilt für:
HitTest(Rect, Int32)
Gibt einen Wert zurück, der angibt, ob sich der Stroke Bereich des angegebenen Rechtecks befindet.
public:
bool HitTest(System::Windows::Rect bounds, int percentageWithinBounds);
public bool HitTest(System.Windows.Rect bounds, int percentageWithinBounds);
member this.HitTest : System.Windows.Rect * int -> bool
Public Function HitTest (bounds As Rect, percentageWithinBounds As Integer) As Boolean
Parameter
- bounds
- Rect
Ein Rect Wert, der die Grenzen des Bereichs darstellt, der beim Treffertest getestet werden soll.
- percentageWithinBounds
- Int32
Der Prozentsatz der Länge des Stroke, das für den percentageWithinBounds als Treffer angesehen werden mussStroke.
Gibt zurück
true wenn sich der aktuelle Strich innerhalb der Grenzen von bounds; andernfalls false.
Beispiele
Im folgenden Beispiel wird ein Strich lila gerendert, wenn sich mindestens 80% des Strichs innerhalb des Strichs befindet Rect.
Rect rect1 = new Rect(100, 100, 100, 100);
if (aStroke.HitTest(rect1, 80))
{
aStroke.DrawingAttributes.Color = Colors.Purple;
}
Dim rect1 As New Rect(100, 100, 100, 100)
If aStroke.HitTest(rect1, 80) Then
aStroke.DrawingAttributes.Color = Colors.Purple
End If