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 der Stroke einen bestimmten Bereich überschneidet oder innerhalb dieses Bereichs liegt.
Überlädt
HitTest(Point) |
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke den angegebenen Punkt überschneidet. |
HitTest(IEnumerable<Point>, Int32) |
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke innerhalb der angegebenen Grenzen liegt. |
HitTest(IEnumerable<Point>, StylusShape) |
Gibt zurück, ob der angegebene Pfad den Stroke mit der angegebenen StylusShape überschneidet. |
HitTest(Point, Double) |
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke den angegebenen Bereich überschneidet. |
HitTest(Rect, Int32) |
Gibt einen Wert zurück, der angibt, ob der Stroke innerhalb der Grenzen des angegebenen Rechtecks liegt. |
Hinweise
Sie können die HitTest Methoden verwenden, um zu bestimmen, ob ein Stroke bestimmter Punkt oder innerhalb der angegebenen Grenzen liegt.
Mit den folgenden Methoden wird überprüft, ob dies Stroke überschneidend ist.
Die folgenden Methoden überprüfen, ob die Stroke Umgebung umgeben ist.
HitTest(Point)
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke 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
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
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 der aktuelle Stroke innerhalb der angegebenen Grenzen liegt.
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, für den ein Treffertest durchgeführt werden soll.
- percentageWithinLasso
- Int32
Der Prozentsatz der Länge des Stroke, der sich in lassoPoints
befinden muss, damit der Stroke als Treffer gilt.
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 myPoints
Strichs 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 den Stroke mit der angegebenen StylusShape überschneidet.
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
zum Testen von Treffern folgt.
- stylusShape
- StylusShape
Die Form von path
, mit dem der Treffertest durchgeführt werden soll.
Gibt zurück
true
, wenn stylusShape
den aktuellen Strich überschneidet, andernfalls false
.
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 eraserPath
zu testen.
Gilt für
HitTest(Point, Double)
Gibt einen Wert zurück, der angibt, ob der aktuelle Stroke den angegebenen 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 Bereichs für den Treffertest.
Gibt zurück
true
, wenn 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 der Stroke innerhalb der Grenzen des angegebenen Rechtecks liegt.
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
- percentageWithinBounds
- Int32
Der Prozentsatz der Länge des Stroke, der sich in percentageWithinBounds
befinden muss, damit der Stroke als Treffer gilt.
Gibt zurück
true
, wenn der aktuelle Strich innerhalb der Grenzen der bounds
liegt; andernfalls false
.
Beispiele
Im folgenden Beispiel wird ein Strich lila gerendert, wenn mindestens 80 % des Strichs innerhalb des RectStrichs liegt.
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