Partager via


StrokeCollection.HitTest Méthode

Définition

Retourne une collection de traits contenus dans la zone spécifiée.

Surcharges

HitTest(Rect, Int32)

Retourne une collection des traits qui ont au moins le pourcentage spécifié de longueur dans le rectangle spécifié.

HitTest(Point, Double)

Retourne une collection de traits qui croisent la zone spécifiée.

HitTest(IEnumerable<Point>, StylusShape)

Retourne une collection de traits qui croisent le chemin d'accès spécifié.

HitTest(IEnumerable<Point>, Int32)

Retourne une collection des traits qui ont au moins le pourcentage spécifié de longueur dans la zone spécifiée.

HitTest(Point)

Retourne une collection de traits qui croisent le point spécifié.

HitTest(Rect, Int32)

Retourne une collection des traits qui ont au moins le pourcentage spécifié de longueur dans le rectangle spécifié.

public:
 System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Rect bounds, int percentageWithinBounds);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Rect bounds, int percentageWithinBounds);
member this.HitTest : System.Windows.Rect * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (bounds As Rect, percentageWithinBounds As Integer) As StrokeCollection

Paramètres

bounds
Rect

Un Rect qui spécifie les limites à tester.

percentageWithinBounds
Int32

La longueur minimum requise d'un trait qui doit exister dans des limites pour être considéré comme testé.

Retours

StrokeCollection qui a des traits avec au moins le pourcentage spécifié dans Rect.

Exemples

L’exemple suivant efface les traits qui sont d’au moins 50 % dans les limites du Rect. Cet exemple suppose qu’il existe un InkPresenter appelé presenter.

Rect rect = new Rect(100, 100, 200, 200);
StrokeCollection strokes = presenter.Strokes.HitTest(rect, 50);

presenter.Strokes.Remove(strokes);
Dim rect As Rect = New Rect(100, 100, 200, 200)
Dim strokes As StrokeCollection = presenter.Strokes.HitTest(rect, 50)

presenter.Strokes.Remove(strokes)

S’applique à

HitTest(Point, Double)

Retourne une collection de traits qui croisent la zone spécifiée.

public:
 System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point, double diameter);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point, double diameter);
member this.HitTest : System.Windows.Point * double -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point, diameter As Double) As StrokeCollection

Paramètres

point
Point

Point sur lequel exécuter le test de positionnement.

diameter
Double

La taille de la zone autour du Point sur laquelle effectuer un test d'atteinte.

Retours

Collection des objets Stroke qui croisent le point spécifié.

Exemples

L’exemple suivant montre comment obtenir les traits qui croisent le spécifié Point. Cet exemple suppose qu’il existe un InkPresenter appelé presenter.

// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
    StrokeCollection selected = presenter.Strokes.HitTest(position, 5);

    foreach (Stroke s in selected)
    {
        s.DrawingAttributes.Color = Colors.Purple;
    }
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)

    Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)

    Dim s As Stroke
    For Each s In selected
        s.DrawingAttributes.Color = Colors.Purple
    Next s

End Sub

S’applique à

HitTest(IEnumerable<Point>, StylusShape)

Retourne une collection de traits qui croisent le chemin d'accès spécifié.

public:
 System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ path, System::Windows::Ink::StylusShape ^ stylusShape);
public System.Windows.Ink.StrokeCollection 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 -> System.Windows.Ink.StrokeCollection
Public Function HitTest (path As IEnumerable(Of Point), stylusShape As StylusShape) As StrokeCollection

Paramètres

path
IEnumerable<Point>

Un tableau du type Point qui représente le chemin d'accès sur lequel effectuer un test d'atteinte.

stylusShape
StylusShape

StylusShape qui spécifie la forme de eraserPath.

Retours

StrokeCollection de traits qui croisent path.

Exemples

L’exemple suivant modifie la couleur de tous les traits qui croisent le chemin créé par le Point tableau. Cet exemple suppose qu’il existe un InkPresenter appelé presenter.

private void HitTestWithEraser(Point[] points)
{
    RectangleStylusShape eraser = new RectangleStylusShape(3, 3, 0);

    StrokeCollection strokes = presenter.Strokes.HitTest(points, eraser);

    foreach (Stroke s in strokes)
    {
        s.DrawingAttributes.Color = Colors.Purple;
    }
}
Private Sub HitTestWithEraser(ByVal points() As Point)
    Dim eraser As RectangleStylusShape = New RectangleStylusShape(3, 3, 0)

    Dim strokes As StrokeCollection = presenter.Strokes.HitTest(points, eraser)

    Dim s As Stroke
    For Each s In strokes
        s.DrawingAttributes.Color = Colors.Purple
    Next
End Sub

S’applique à

HitTest(IEnumerable<Point>, Int32)

Retourne une collection des traits qui ont au moins le pourcentage spécifié de longueur dans la zone spécifiée.

public:
 System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints, int percentageWithinLasso);
public System.Windows.Ink.StrokeCollection HitTest (System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints, int percentageWithinLasso);
member this.HitTest : seq<System.Windows.Point> * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (lassoPoints As IEnumerable(Of Point), percentageWithinLasso As Integer) As StrokeCollection

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

La longueur acceptable du Stroke, en %, pour lassoPoints à contenir.

Retours

StrokeCollection qui a des traits avec au moins le pourcentage spécifié dans le tableau Point.

Exceptions

lassoPoints a la valeur null.

-ou-

percentageWithinLasso a la valeur null.

lassoPoints contient un tableau vide.

percentageWithinLasso est inférieur à 0 ou supérieur à 100.

Exemples

L’exemple suivant montre comment supprimer tous les traits d’au moins 80 % dans le lasso spécifié d’un StrokeCollection. Cela est utile lorsqu’un contrôle personnalisé permet à l’utilisateur de sélectionner une entrée manuscrite avec un lasso. Pour créer un contrôle qui permet à un utilisateur de sélectionner une entrée manuscrite avec un lasso, consultez Guide pratique pour sélectionner une entrée manuscrite à partir d’un contrôle personnalisé.

// Remove the strokes within the lasso from the InkPresenter
public void RemoveStrokes(Point[] lasso)
{
    StrokeCollection strokes = presenter.Strokes.HitTest(lasso, 80);

    presenter.Strokes.Remove(strokes);
}
' Remove the strokes within the lasso from the InkPresenter
Public Sub RemoveStrokes(ByVal lasso As Point())

    If lasso Is Nothing Then
        Return
    End If

    Dim strokes As StrokeCollection = _
        presenter.Strokes.HitTest(lasso, 80)

    presenter.Strokes.Remove(strokes)

End Sub

S’applique à

HitTest(Point)

Retourne une collection de traits qui croisent le point spécifié.

public:
 System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point);
member this.HitTest : System.Windows.Point -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point) As StrokeCollection

Paramètres

point
Point

Point auquel appliquer un test d'atteinte.

Retours

Collection des objets Stroke qui croisent le point spécifié.

Exemples

L’exemple suivant montre comment obtenir les traits qui croisent le spécifié Point. Cet exemple suppose qu’il existe un InkPresenter appelé presenter.

// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
    StrokeCollection selected = presenter.Strokes.HitTest(position, 5);

    foreach (Stroke s in selected)
    {
        s.DrawingAttributes.Color = Colors.Purple;
    }
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)

    Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)

    Dim s As Stroke
    For Each s In selected
        s.DrawingAttributes.Color = Colors.Purple
    Next s

End Sub

S’applique à