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ı myPoints
iç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 myPoints
ile 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 eraserPath
vuruş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ı bounds
iç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