Stroke.HitTest Méthode

Définition

Retourne si le Stroke croise ou est dans une certaine zone.

Surcharges

HitTest(Point)

Retourne une valeur qui indique si le Stroke actuel croise le point spécifié.

HitTest(IEnumerable<Point>, Int32)

Retourne une valeur qui indique si le Stroke actuel est dans les limites spécifiées.

HitTest(IEnumerable<Point>, StylusShape)

Retourne si le chemin d'accès spécifié croise le Stroke à l'aide de la StylusShapespécifiée.

HitTest(Point, Double)

Retourne une valeur qui indique si le Stroke actuel croise la zone spécifiée.

HitTest(Rect, Int32)

Retourne une valeur qui indique si le Stroke se trouve dans les limites du rectangle spécifié.

Remarques

Vous pouvez utiliser les HitTest méthodes pour déterminer si un Stroke point se croise ou se trouve dans des limites spécifiées.

Les méthodes suivantes vérifient si l’élément Stroke est croisé.

Les méthodes suivantes vérifient si l’élément Stroke est entouré.

HitTest(Point)

Retourne une valeur qui indique si le Stroke actuel croise le point spécifié.

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

Paramètres

point
Point

Point sur lequel exécuter le test de positionnement.

Retours

Boolean

true si point croise le trait actuel ; sinon, false.

Exemples

L’exemple suivant modifie la couleur d’un Stroke si elle croise une certaine zone.

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

Remarques

Cette méthode se comporte de la même façon que la méthode surchargée HitTest(Point, Double) lorsqu’elle diameter est 1.

S’applique à

HitTest(IEnumerable<Point>, Int32)

Retourne une valeur qui indique si le Stroke actuel est dans les limites spécifiées.

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

Paramètres

lassoPoints
IEnumerable<Point>

Un tableau de type Point qui représente les limites de la zone sur laquelle effectuer un test d'atteinte.

percentageWithinLasso
Int32

Pourcentage de la longueur du Stroke qui doit être dans lassoPoints pour que Stroke soit considéré comme testé.

Retours

Boolean

true si le trait actuel se trouve dans les limites spécifiées ; sinon false.

Exemples

L’exemple suivant affiche un trait violet si au moins 80 % du trait se trouve dans les limites de 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

Remarques

La HitTest méthode connecte les premiers et derniers points pour lassoPoints créer le lasso.

S’applique à

HitTest(IEnumerable<Point>, StylusShape)

Retourne si le chemin d'accès spécifié croise le Stroke à l'aide de la StylusShapespécifiée.

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

Paramètres

path
IEnumerable<Point>

Chemin suivant stylusShape pour les tests d’accès.

stylusShape
StylusShape

Forme du path avec lequel effectuer le test d'atteinte.

Retours

Boolean

true si stylusShape croise le trait actuel ; sinon, false.

Exemples

Le code suivant affiche un trait violet si le trait croise le chemin d’accès 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

Remarques

La HitTest méthode utilise stylusShape pour tester le trait le long eraserPath.

S’applique à

HitTest(Point, Double)

Retourne une valeur qui indique si le Stroke actuel croise la zone spécifiée.

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

Paramètres

point
Point

Le Point qui définit le centre de la zone sur laquelle effectuer un test d'atteinte.

diameter
Double

Diamètre de la zone sur laquelle effectuer un test d'atteinte.

Retours

Boolean

true si la zone spécifiée croise le trait actuel ; sinon, false.

Exemples

L’exemple suivant modifie la couleur d’un Stroke si elle croise une certaine zone.

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

S’applique à

HitTest(Rect, Int32)

Retourne une valeur qui indique si le Stroke se trouve dans les limites du rectangle spécifié.

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

Paramètres

bounds
Rect

Rect qui représente les limites de la zone du test de positionnement.

percentageWithinBounds
Int32

Pourcentage de la longueur du Stroke qui doit être dans percentageWithinBounds pour que Stroke soit considéré comme testé.

Retours

Boolean

true si le trait actuel se trouve dans les limites de bounds ; sinon, false.

Exemples

L’exemple suivant affiche un trait violet si au moins 80 % du trait se trouve dans le 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

S’applique à