Stroke.HitTest Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve si el objeto Stroke forma una intersección o está dentro de un área determinada.
Sobrecargas
HitTest(Point) |
Devuelve un valor que indica si el actual objeto Stroke forma una intersección con el punto especificado. |
HitTest(IEnumerable<Point>, Int32) |
Devuelve un valor que indica si el actual objeto Stroke está dentro de los límites especificados. |
HitTest(IEnumerable<Point>, StylusShape) |
Devuelve si el trazado especificado interseca con el objeto Stroke utilizando el objeto StylusShape especificado. |
HitTest(Point, Double) |
Devuelve un valor que indica si el actual objeto Stroke forma una intersección con el área especificada. |
HitTest(Rect, Int32) |
Devuelve un valor que indica si Stroke está dentro de los límites del rectángulo especificado. |
Comentarios
Puede usar los HitTest métodos para determinar si un Stroke objeto interseca un punto determinado o está dentro de los límites especificados.
Los métodos siguientes comprueban si se interseca .Stroke
Los métodos siguientes comprueban si está Stroke rodeado.
HitTest(Point)
Devuelve un valor que indica si el actual objeto Stroke forma una intersección con el punto especificado.
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
Parámetros
Devoluciones
Es true
si point
interseca con el actual trazo; de lo contrario, es false
.
Ejemplos
En el ejemplo siguiente se cambia el color de un Stroke si interseca un área determinada.
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
Comentarios
Este método se comporta de la misma manera que el método sobrecargado HitTest(Point, Double) cuando diameter
es 1.
Se aplica a
HitTest(IEnumerable<Point>, Int32)
Devuelve un valor que indica si el actual objeto Stroke está dentro de los límites especificados.
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
Parámetros
- lassoPoints
- IEnumerable<Point>
Matriz de tipo Point que representa los límites del área objeto de la prueba de posicionamiento.
- percentageWithinLasso
- Int32
Porcentaje de la longitud del objeto Stroke que debe estar en lassoPoints
para que el objeto Stroke se considere incluido.
Devoluciones
Es true
si el trazo actual está dentro de los límites especificados; de lo contrario, es false
.
Ejemplos
En el ejemplo siguiente se representa un trazo púrpura si al menos el 80 % del trazo está dentro de los límites 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
Comentarios
El HitTest método conecta los puntos primero y último de lassoPoints
para crear el lazo.
Se aplica a
HitTest(IEnumerable<Point>, StylusShape)
Devuelve si el trazado especificado interseca con el objeto Stroke utilizando el objeto StylusShape especificado.
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
Parámetros
- path
- IEnumerable<Point>
Ruta de acceso siguiente stylusShape
para las pruebas de posicionamiento.
- stylusShape
- StylusShape
Forma de path
que se utiliza para realizar la prueba de posicionamiento.
Devoluciones
Es true
si stylusShape
interseca con el actual trazo; de lo contrario, es false
.
Ejemplos
El código siguiente representa un trazo púrpura si el trazo interseca la ruta de acceso de 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
Comentarios
El HitTest método usa stylusShape
para probar el trazo a lo largo eraserPath
de .
Se aplica a
HitTest(Point, Double)
Devuelve un valor que indica si el actual objeto Stroke forma una intersección con el área especificada.
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
Parámetros
- point
- Point
Point que define el centro del área que se va a someter a una prueba de posicionamiento.
- diameter
- Double
Diámetro del área que se va a someter a una prueba de posicionamiento.
Devoluciones
Es true
si el área especificada forma una intersección con el trazo actual; de lo contrario, es false
.
Ejemplos
En el ejemplo siguiente se cambia el color de un Stroke si interseca un área determinada.
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
Se aplica a
HitTest(Rect, Int32)
Devuelve un valor que indica si Stroke está dentro de los límites del rectángulo especificado.
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
Parámetros
- percentageWithinBounds
- Int32
Porcentaje de la longitud del objeto Stroke que debe estar en percentageWithinBounds
para que el objeto Stroke se considere incluido.
Devoluciones
true
si el trazo actual está dentro de los límites de bounds
; de lo contrario, false
.
Ejemplos
En el ejemplo siguiente se representa un trazo púrpura si al menos el 80 % del trazo está dentro de 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