Stroke.HitTest Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca, czy przecięcie Stroke , czy znajduje się w określonym obszarze.
Przeciążenia
HitTest(Point) |
Zwraca wartość wskazującą, czy bieżący Stroke przecina określony punkt. |
HitTest(IEnumerable<Point>, Int32) |
Zwraca wartość wskazującą, czy bieżący Stroke znajduje się w określonych granicach. |
HitTest(IEnumerable<Point>, StylusShape) |
Zwraca, czy określona ścieżka przecina Stroke obiekt przy użyciu określonego StylusShapeelementu . |
HitTest(Point, Double) |
Zwraca wartość wskazującą, czy bieżący Stroke przecina określony obszar. |
HitTest(Rect, Int32) |
Zwraca wartość wskazującą, czy Stroke element znajduje się w granicach określonego prostokąta. |
Uwagi
Można użyć HitTest metod, aby określić, czy przecięcie Stroke określonego punktu lub znajduje się w określonych granicach.
Poniższe metody sprawdzają, czy element Stroke jest przecinany.
Poniższe metody sprawdzają, czy Stroke obiekt jest otoczony.
HitTest(Point)
Zwraca wartość wskazującą, czy bieżący Stroke przecina określony punkt.
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
Parametry
Zwraca
true
jeśli point
przecina bieżący pociągnięcie; w przeciwnym razie wartość false
.
Przykłady
Poniższy przykład zmienia kolor obiektu Stroke , jeśli przecina określony obszar.
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
Uwagi
Ta metoda zachowuje się tak samo jak metoda przeciążona HitTest(Point, Double) , gdy diameter
ma wartość 1.
Dotyczy
HitTest(IEnumerable<Point>, Int32)
Zwraca wartość wskazującą, czy bieżący Stroke znajduje się w określonych granicach.
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
Parametry
- lassoPoints
- IEnumerable<Point>
Tablica typu Point reprezentująca granice obszaru, które mają być testem trafienia.
- percentageWithinLasso
- Int32
Wartość procentowa długości Strokeobiektu , która musi należeć do Stroke wartości, która ma zostać lassoPoints
uznana za trafienie.
Zwraca
true
jeśli bieżący pociągnięcie mieści się w określonych granicach; w przeciwnym razie false
.
Przykłady
Poniższy przykład renderuje fioletowy pociągnięcie, jeśli co najmniej 80% pociągnięcia mieści się w granicach myPoints
.
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
Uwagi
Metoda HitTest łączy pierwsze i ostatnie punkty, lassoPoints
aby utworzyć lasso.
Dotyczy
HitTest(IEnumerable<Point>, StylusShape)
Zwraca, czy określona ścieżka przecina Stroke obiekt przy użyciu określonego StylusShapeelementu .
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
Parametry
- path
- IEnumerable<Point>
Ścieżka, która stylusShape
następuje do testowania trafień.
- stylusShape
- StylusShape
Kształt, za pomocą path
którego ma być test trafiony.
Zwraca
true
jeśli stylusShape
przecina bieżący pociągnięcie; w przeciwnym razie wartość false
.
Przykłady
Poniższy kod renderuje fioletowy pociągnięcie, jeśli pociągnięcie przecina ścieżkę .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
Uwagi
Metoda HitTest używa stylusShape
metody do testowania pociągnięcia wzdłuż eraserPath
.
Dotyczy
HitTest(Point, Double)
Zwraca wartość wskazującą, czy bieżący Stroke przecina określony obszar.
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
Parametry
- diameter
- Double
Średnica obszaru, który ma trafić test.
Zwraca
true
jeśli określony obszar przecina bieżący pociągnięcie; w przeciwnym razie , false
.
Przykłady
Poniższy przykład zmienia kolor obiektu Stroke , jeśli przecina określony obszar.
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
Dotyczy
HitTest(Rect, Int32)
Zwraca wartość wskazującą, czy Stroke element znajduje się w granicach określonego prostokąta.
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
Parametry
- percentageWithinBounds
- Int32
Wartość procentowa długości Strokeobiektu , która musi należeć do Stroke wartości, która ma zostać percentageWithinBounds
uznana za trafienie.
Zwraca
true
jeśli bieżący pociągnięcie mieści się w granicach bounds
; w przeciwnym razie , false
.
Przykłady
Poniższy przykład renderuje purpurowy pociągnięcie, jeśli co najmniej 80% pociągnięcia mieści się w obiekcie 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