StrokeCollection.HitTest メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された領域内に含まれるストロークのコレクションを返します。
オーバーロード
HitTest(Rect, Int32) |
指定した四角形の中にある、指定したパーセンテージ以上の長さのストロークのコレクションを返します。 |
HitTest(Point, Double) |
指定した領域と交差するストロークのコレクションを返します。 |
HitTest(IEnumerable<Point>, StylusShape) |
指定したパスと交差するストロークのコレクションを返します。 |
HitTest(IEnumerable<Point>, Int32) |
指定した領域内にある、指定したパーセンテージ以上の長さのストロークのコレクションを返します。 |
HitTest(Point) |
指定した点と交差するストロークのコレクションを返します。 |
HitTest(Rect, Int32)
指定した四角形の中にある、指定したパーセンテージ以上の長さのストロークのコレクションを返します。
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
パラメーター
- percentageWithinBounds
- Int32
ヒットしたと見なされるために境界内に存在する必要があるストロークの必要最小限の長さ。
戻り値
指定したパーセンテージ以上のストロークを StrokeCollection 内に含む Rect。
例
次の例では、 の境界内の少なくとも 50% のストロークを Rect消去します。 この例では、 と呼ばれる presenter
があることをInkPresenter前提としています。
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)
適用対象
HitTest(Point, Double)
指定した領域と交差するストロークのコレクションを返します。
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
パラメーター
戻り値
指定した点と交差する Stroke オブジェクトのコレクション。
例
次の例では、指定した Pointと交差するストロークを取得する方法を示します。 この例では、 と呼ばれる presenter
があることをInkPresenter前提としています。
// 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
適用対象
HitTest(IEnumerable<Point>, StylusShape)
指定したパスと交差するストロークのコレクションを返します。
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
パラメーター
- path
- IEnumerable<Point>
ヒット テスト対象のパスを表す Point 型の配列。
- stylusShape
- StylusShape
eraserPath
の形状を指定する StylusShape。
戻り値
path
と交差するストロークの StrokeCollection。
例
次の例では、配列によって作成されたパスと交差するすべてのストロークの色を Point 変更します。 この例では、 と呼ばれる presenter
があることをInkPresenter前提としています。
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
適用対象
HitTest(IEnumerable<Point>, Int32)
指定した領域内にある、指定したパーセンテージ以上の長さのストロークのコレクションを返します。
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
パラメーター
- lassoPoints
- IEnumerable<Point>
ヒット テスト対象の領域の境界を表す Point 型の配列。
戻り値
指定したパーセンテージ以上のストロークを StrokeCollection 配列内に含む Point。
例外
lassoPoints
に空の配列が格納されています。
percentageWithinLasso
が 0 より小さいか、100 を超えています。
例
次の例では、 から指定したなげなわ内の少なくとも 80% のストロークをすべて削除する方法を StrokeCollection示します。 これは、ユーザーがなげなわを使用してインクを選択できるカスタム コントロールの場合に便利です。 ユーザーがなげなわでインクを選択できるようにするコントロールを作成するには、「 方法: カスタム コントロールからインクを選択する」を参照してください。
// 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
適用対象
HitTest(Point)
指定した点と交差するストロークのコレクションを返します。
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
パラメーター
- point
- Point
ヒット テストの対象となる点。
戻り値
指定した点と交差する Stroke オブジェクトのコレクション。
例
次の例では、指定した Pointと交差するストロークを取得する方法を示します。 この例では、 と呼ばれる presenter
があることをInkPresenter前提としています。
// 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
適用対象
.NET