Stroke.HitTest Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Döndürülenler
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
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
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
- diameter
- Double
Teste isabet eden alanın çapı.
Döndürülenler
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
- percentageWithinBounds
- Int32
isabet olarak kabul edilmesi için içinde percentageWithinBounds olması gereken uzunluğunun StrokeStroke yüzdesi.
Döndürülenler
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