Sdílet prostřednictvím


StrokeCollection.HitTest Metoda

Definice

Vrátí kolekci tahů obsažených v zadané oblasti.

Přetížení

HitTest(Rect, Int32)

Vrátí kolekci tahů, které mají alespoň zadané procento délky v zadaném obdélníku.

HitTest(Point, Double)

Vrátí kolekci tahů, které protínají zadanou oblast.

HitTest(IEnumerable<Point>, StylusShape)

Vrátí kolekci tahů, které se protínají se zadanou cestou.

HitTest(IEnumerable<Point>, Int32)

Vrátí kolekci tahů, které mají alespoň zadané procento délky v zadané oblasti.

HitTest(Point)

Vrátí kolekci tahů, které protínají zadaný bod.

HitTest(Rect, Int32)

Vrátí kolekci tahů, které mají alespoň zadané procento délky v zadaném obdélníku.

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

Parametry

bounds
Rect

A Rect určující meze, které se mají testovat.

percentageWithinBounds
Int32

Minimální požadovaná délka tahu, který musí existovat v mezích, aby byl považován za zásah.

Návraty

A StrokeCollection , který má tahy alespoň se zadaným procentem Rectv rámci .

Příklady

Následující příklad vymaže tahy, které jsou alespoň 50 % v mezích objektu Rect. V tomto příkladu se předpokládá, že existuje objekt InkPresenter s názvem 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)

Platí pro

HitTest(Point, Double)

Vrátí kolekci tahů, které protínají zadanou oblast.

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

Parametry

point
Point

Test Point hitu.

diameter
Double

Velikost oblasti kolem testu.Point

Návraty

Kolekce Stroke objektů, které protínají zadaný bod.

Příklady

Následující příklad ukazuje, jak získat tahy, které protínají zadaný Point. V tomto příkladu se předpokládá, že existuje objekt InkPresenter s názvem 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

Platí pro

HitTest(IEnumerable<Point>, StylusShape)

Vrátí kolekci tahů, které se protínají se zadanou cestou.

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

Parametry

path
IEnumerable<Point>

Pole pro typ Point , které představuje cestu k otestování.

stylusShape
StylusShape

Určuje StylusShape tvar eraserPath.

Návraty

A StrokeCollection tahů, které se protínají s path.

Příklady

Následující příklad změní barvu všech tahů, které protínají cestu vytvořenou polem Point . V tomto příkladu se předpokládá, že existuje objekt InkPresenter s názvem 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

Platí pro

HitTest(IEnumerable<Point>, Int32)

Vrátí kolekci tahů, které mají alespoň zadané procento délky v zadané oblasti.

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

Parametry

lassoPoints
IEnumerable<Point>

Pole typu Point , které představuje hranice oblasti, která má být testována.

percentageWithinLasso
Int32

Přijatelná délka Strokesouboru v procentech, lassoPoints která má obsahovat.

Návraty

A StrokeCollection , který má tahy s alespoň zadaným procentem Point v rámci pole.

Výjimky

lassoPoints je null.

-nebo-

percentageWithinLasso je null.

lassoPoints obsahuje prázdné pole.

percentageWithinLasso je menší než 0 nebo větší než 100.

Příklady

Následující příklad ukazuje, jak odebrat všechny tahy, které jsou alespoň 80 % v zadaném lasu z objektu StrokeCollection. To je užitečné, když vlastní ovládací prvek umožňuje uživateli vybrat rukopis s lasem. Pokud chcete vytvořit ovládací prvek, který uživateli umožní vybrat rukopis s lasem, přečtěte si téma Postupy: Výběr rukopisu z vlastního ovládacího prvku.

// 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

Platí pro

HitTest(Point)

Vrátí kolekci tahů, které protínají zadaný bod.

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

Parametry

point
Point

Bod, který se má testovat.

Návraty

Kolekce Stroke objektů, které protínají zadaný bod.

Příklady

Následující příklad ukazuje, jak získat tahy, které protínají zadaný Point. V tomto příkladu se předpokládá, že existuje objekt InkPresenter s názvem 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

Platí pro