Aracılığıyla paylaş


Stroke.HitTest Yöntem

Tanım

Kesişenlerin Stroke veya belirli bir alanın içinde olup olmadığını döndürür.

Aşırı Yüklemeler

HitTest(Point)

Geçerli Stroke değerin belirtilen noktayla kesişip kesişmediğini belirten bir değer döndürür.

HitTest(IEnumerable<Point>, Int32)

Geçerli Stroke değerin belirtilen sınırlar içinde olup olmadığını gösteren bir değer döndürür.

HitTest(IEnumerable<Point>, StylusShape)

Belirtilen yolun belirtilen StylusShapekullanarak ile Stroke kesişip kesişmediğini döndürür.

HitTest(Point, Double)

Geçerli Stroke alanın belirtilen alanla kesişip kesişmediğini gösteren bir değer döndürür.

HitTest(Rect, Int32)

öğesinin belirtilen dikdörtgenin sınırları içinde olup olmadığını Stroke gösteren bir değer döndürür.

Açıklamalar

Bir noktanın HitTest belirli bir Stroke noktayla kesişip kesişmediğini veya belirtilen sınırlar içinde olup olmadığını belirlemek için yöntemlerini kullanabilirsiniz.

Aşağıdaki yöntemler kesişip kesişmediğini Stroke denetler.

Aşağıdaki yöntemler öğesinin Stroke çevrelenip kuşatılmadığını denetler.

HitTest(Point)

Geçerli Stroke değerin belirtilen noktayla kesişip kesişmediğini belirten bir değer döndürür.

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

Parametreler

point
Point

Isabet Point testi.

Döndürülenler

Boolean

true geçerli point vuruşla kesişiyorsa; değilse, false.

Örnekler

Aşağıdaki örnek, belirli bir alanla kesişirse değerinin Stroke rengini değiştirir.

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

Açıklamalar

Bu yöntem, aşırı yüklenmiş HitTest(Point, Double) yöntemin 1 olduğu gibi diameter davranır.

Şunlara uygulanır

HitTest(IEnumerable<Point>, Int32)

Geçerli Stroke değerin belirtilen sınırlar içinde olup olmadığını gösteren bir değer döndürür.

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

Parametreler

lassoPoints
IEnumerable<Point>

Teste isabet etmek için alanın sınırlarını temsil eden tür Point dizisi.

percentageWithinLasso
Int32

isabet olarak kabul edilmesi için içinde lassoPoints olması gereken uzunluğunun StrokeStroke yüzdesi.

Döndürülenler

Boolean

true geçerli vuruş belirtilen sınırlar içindeyse; aksi takdirde false.

Örnekler

Aşağıdaki örnek, vuruşun en az %80'i sınırları myPointsiçindeyse mor bir vuruş oluşturur.

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

Açıklamalar

yöntemi, HitTest kement oluşturmak için içindeki lassoPoints ilk ve son noktaları bağlar.

Şunlara uygulanır

HitTest(IEnumerable<Point>, StylusShape)

Belirtilen yolun belirtilen StylusShapekullanarak ile Stroke kesişip kesişmediğini döndürür.

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

Parametreler

path
IEnumerable<Point>

Isabet testi için izleyen yol stylusShape .

stylusShape
StylusShape

Testin path isabet ettiği şekli.

Döndürülenler

Boolean

true geçerli stylusShape vuruşla kesişiyorsa; değilse, false.

Örnekler

Aşağıdaki kod, vuruş yolu myPointsile kesişirse bir vuruşu mor olarak işler.

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

Açıklamalar

yöntemi, HitTest ile birlikte eraserPathvuruşu test etmek için kullanırstylusShape.

Şunlara uygulanır

HitTest(Point, Double)

Geçerli Stroke alanın belirtilen alanla kesişip kesişmediğini gösteren bir değer döndürür.

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

Parametreler

point
Point

Teste Point isabet etmek için alanın merkezini tanımlayan.

diameter
Double

Teste isabet eden alanın çapı.

Döndürülenler

Boolean

true belirtilen alan geçerli vuruşla kesişiyorsa; aksi takdirde , false.

Örnekler

Aşağıdaki örnek, belirli bir alanla kesişirse değerinin Stroke rengini değiştirir.

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

Şunlara uygulanır

HitTest(Rect, Int32)

öğesinin belirtilen dikdörtgenin sınırları içinde olup olmadığını Stroke gösteren bir değer döndürür.

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

Parametreler

bounds
Rect

Rect Teste isabet etmek için alanın sınırlarını temsil eden bir.

percentageWithinBounds
Int32

isabet olarak kabul edilmesi için içinde percentageWithinBounds olması gereken uzunluğunun StrokeStroke yüzdesi.

Döndürülenler

Boolean

true geçerli vuruş öğesinin sınırları boundsiçindeyse; değilse, false.

Örnekler

Aşağıdaki örnek, vuruşun en az %80'i içindeyse Rectmor bir vuruş oluşturur.

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

Şunlara uygulanır