Stroke.HitTest Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí, zda Stroke je protínaná nebo je v určité oblasti.
Přetížení
HitTest(Point) |
Vrátí hodnotu, která určuje, zda aktuální Stroke protíná zadaný bod. |
HitTest(IEnumerable<Point>, Int32) |
Vrátí hodnotu, která určuje, jestli je aktuální hodnota Stroke v rámci zadaných hranic. |
HitTest(IEnumerable<Point>, StylusShape) |
Vrátí, zda zadaná cesta protíná Stroke použití zadané StylusShape. |
HitTest(Point, Double) |
Vrátí hodnotu, která určuje, zda aktuální Stroke protíná zadanou oblast. |
HitTest(Rect, Int32) |
Vrátí hodnotu, která určuje, zda Stroke je v mezích zadaného obdélníku. |
Poznámky
Pomocí metod můžete HitTest určit, zda se Stroke protíná určitý bod nebo je v zadaných mezích.
Následující metody zkontrolují, jestli Stroke je protínaná.
Následující metody zkontrolují, zda Stroke je obklopen.
HitTest(Point)
Vrátí hodnotu, která určuje, zda aktuální Stroke protíná zadaný bod.
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
Návraty
true
pokud point
protíná aktuální tah; false
v opačném případě .
Příklady
Následující příklad změní barvu, Stroke pokud protíná určitou oblast.
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
Poznámky
Tato metoda se chová stejně jako přetížená HitTest(Point, Double) metoda, pokud diameter
je 1.
Platí pro
HitTest(IEnumerable<Point>, Int32)
Vrátí hodnotu, která určuje, jestli je aktuální hodnota Stroke v rámci zadaných hranic.
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>
Pole typu Point , které představuje hranice oblasti k dosažení testu.
- percentageWithinLasso
- Int32
Procento délky Stroke, které musí být, lassoPoints
Stroke aby bylo považováno za dosažení.
Návraty
true
je-li aktuální tah v rámci zadaných hranic; jinak false
.
Příklady
Následující příklad vykreslí tah fialový, pokud alespoň 80 % tahu je v mezích 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
Poznámky
Metoda HitTest připojí první a poslední body lassoPoints
k vytvoření lasa.
Platí pro
HitTest(IEnumerable<Point>, StylusShape)
Vrátí, zda zadaná cesta protíná Stroke použití zadané StylusShape.
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>
Cesta, která stylusShape
následuje pro dosažení testování.
- stylusShape
- StylusShape
Tvar path
, pomocí kterého se má test provést.
Návraty
true
pokud stylusShape
protíná aktuální tah; false
v opačném případě .
Příklady
Následující kód vykreslí tah fialový, pokud tah protíná cestu 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
Poznámky
Metoda HitTest používá stylusShape
k otestování tahu podél eraserPath
.
Platí pro
HitTest(Point, Double)
Vrátí hodnotu, která určuje, zda aktuální Stroke protíná zadanou oblast.
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
Průměr oblasti, která se má testovat.
Návraty
true
pokud zadaná oblast protíná aktuální tah; false
v opačném případě .
Příklady
Následující příklad změní barvu, Stroke pokud protíná určitou oblast.
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
Platí pro
HitTest(Rect, Int32)
Vrátí hodnotu, která určuje, zda Stroke je v mezích zadaného obdélníku.
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
Procento délky Stroke, které musí být, percentageWithinBounds
Stroke aby bylo považováno za dosažení.
Návraty
true
je-li aktuální tah v mezích bounds
; v opačném případě false
, .
Příklady
Následující příklad vykreslí tah fialový, pokud je alespoň 80 % tahu Rectuvnitř .
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