StrokeCollection.HitTest Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve uma coleção de traços contidos dentro da área especificada.
Sobrecargas
| Name | Description |
|---|---|
| HitTest(Rect, Int32) |
Devolve uma coleção de traços que têm pelo menos a percentagem especificada de comprimento dentro do retângulo especificado. |
| HitTest(Point, Double) |
Devolve uma coleção de traços que intersectam a área especificada. |
| HitTest(IEnumerable<Point>, StylusShape) |
Devolve uma coleção de traços que se cruzam com o caminho especificado. |
| HitTest(IEnumerable<Point>, Int32) |
Devolve uma coleção de traços que tenham pelo menos a percentagem especificada de comprimento dentro da área especificada. |
| HitTest(Point) |
Devolve uma coleção de traços que intersectam o ponto especificado. |
HitTest(Rect, Int32)
Devolve uma coleção de traços que têm pelo menos a percentagem especificada de comprimento dentro do retângulo especificado.
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
Parâmetros
- percentageWithinBounds
- Int32
O comprimento mínimo exigido de um Stroke que deve existir dentro dos limites para ser considerado atingido.
Devoluções
A StrokeCollection que tem traços com pelo menos a percentagem especificada dentro do Rect.
Exemplos
O exemplo seguinte apaga os traços que estejam pelo menos 50% dentro dos limites do Rect. Este exemplo assume que existe um InkPresenter chamado 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)
Aplica-se a
HitTest(Point, Double)
Devolve uma coleção de traços que intersectam a área especificada.
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
Parâmetros
Devoluções
Uma coleção de Stroke objetos que intersectam o ponto especificado.
Exemplos
O exemplo seguinte demonstra como obter os traços que intersectam o especificado Point. Este exemplo assume que existe um InkPresenter chamado 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
Aplica-se a
HitTest(IEnumerable<Point>, StylusShape)
Devolve uma coleção de traços que se cruzam com o caminho especificado.
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
Parâmetros
- path
- IEnumerable<Point>
Um array para o tipo Point que representa o caminho a ser testado em hittest.
- stylusShape
- StylusShape
O StylusShape que especifica a forma de eraserPath.
Devoluções
A StrokeCollection de traços que intersectam com path.
Exemplos
O exemplo seguinte altera a cor de todos os traços que intersectam o caminho criado pelo Point array. Este exemplo assume que existe um InkPresenter chamado 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
Aplica-se a
HitTest(IEnumerable<Point>, Int32)
Devolve uma coleção de traços que tenham pelo menos a percentagem especificada de comprimento dentro da área especificada.
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
Parâmetros
- lassoPoints
- IEnumerable<Point>
Um array de tipo Point que representa os limites da área a ser testada para acertos.
- percentageWithinLasso
- Int32
O comprimento aceitável do Stroke, como percentagem, para lassoPoints conter.
Devoluções
A StrokeCollection que tem traços com pelo menos a percentagem especificada dentro do Point array.
Exceções
lassoPoints contém um array vazio.
percentageWithinLasso é inferior a 0 ou superior a 100.
Exemplos
O exemplo seguinte demonstra como remover todos os traços que estejam pelo menos 80 por cento dentro do laço especificado de um StrokeCollection. Isto é útil quando um controlo personalizado permite ao utilizador selecionar tinta com um laço. Para criar um controlo que permita ao utilizador selecionar tinta com um laço, veja Como: Selecionar Tinta a partir de um Controlo Personalizado.
// 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
Aplica-se a
HitTest(Point)
Devolve uma coleção de traços que intersectam o ponto especificado.
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
Parâmetros
- point
- Point
O ponto é o teste de sucesso.
Devoluções
Uma coleção de Stroke objetos que intersectam o ponto especificado.
Exemplos
O exemplo seguinte demonstra como obter os traços que intersectam o especificado Point. Este exemplo assume que existe um InkPresenter chamado 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