次の方法で共有


Stroke.GetEraseResult メソッド

定義

Stroke の一部を消去した後で現在の Stroke のセグメントを返します。

オーバーロード

GetEraseResult(IEnumerable<Point>)

指定した境界の外側にある現在の Stroke のセグメントを返します。

GetEraseResult(Rect)

指定した四角形の外側にある現在の Stroke のセグメントを返します。

GetEraseResult(IEnumerable<Point>, StylusShape)

指定したパスと Stroke を使用して切断された後の現在の StylusShape のセグメントを返します。

GetEraseResult(IEnumerable<Point>)

指定した境界の外側にある現在の Stroke のセグメントを返します。

public:
 System::Windows::Ink::StrokeCollection ^ GetEraseResult(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints);
public System.Windows.Ink.StrokeCollection GetEraseResult (System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints);
member this.GetEraseResult : seq<System.Windows.Point> -> System.Windows.Ink.StrokeCollection
Public Function GetEraseResult (lassoPoints As IEnumerable(Of Point)) As StrokeCollection

パラメーター

lassoPoints
IEnumerable<Point>

消去する領域を指定する Point 型の配列。

戻り値

StrokeCollection

指定した境界の外側にある現在の StrokeCollection のセグメントを格納する Stroke

次の例では、指定した境界内にあるインクを削除します。

Point[] myPoints = new Point[] {
    new Point(100, 100),
    new Point(200, 100),
    new Point(200, 200),
    new Point(100, 200)};

StrokeCollection eraseResults = aStroke.GetEraseResult(myPoints);

// inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke);
inkCanvas1.Strokes.Add(eraseResults);
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 eraseResults As StrokeCollection = aStroke.GetEraseResult(myPoints)

' inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke)
inkCanvas1.Strokes.Add(eraseResults)

注釈

メソッドはGetEraseResultStrokeCollection外側lassoPointsにあるセグメントを表すストロークを含む a をStroke返します。 GetEraseResultStrokeのファイルは変更されません。

メソッドは GetClipResult 、最初と最後のポイント lassoPoints を接続してなわを作成します。

適用対象

GetEraseResult(Rect)

指定した四角形の外側にある現在の Stroke のセグメントを返します。

public:
 System::Windows::Ink::StrokeCollection ^ GetEraseResult(System::Windows::Rect bounds);
public System.Windows.Ink.StrokeCollection GetEraseResult (System.Windows.Rect bounds);
member this.GetEraseResult : System.Windows.Rect -> System.Windows.Ink.StrokeCollection
Public Function GetEraseResult (bounds As Rect) As StrokeCollection

パラメーター

bounds
Rect

消去する領域を指定する Rect

戻り値

StrokeCollection

指定した StrokeCollection の境界の外側にある現在の Stroke のセグメントを格納する Rect

次の例では、指定した境界内にあるインクを削除します。

Rect myRect = new Rect(100, 100, 100, 100);

StrokeCollection eraseResults = aStroke.GetEraseResult(myRect);

// inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke);
inkCanvas1.Strokes.Add(eraseResults);
Dim myRect As New Rect(100, 100, 100, 100)

Dim eraseResults As StrokeCollection = aStroke.GetEraseResult(myRect)

' inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke)
inkCanvas1.Strokes.Add(eraseResults)

注釈

メソッドはGetEraseResultStrokeCollection外側boundsにあるセグメントを表すストロークを含む a をStroke返します。 GetEraseResultStrokeのファイルは変更されません。

適用対象

GetEraseResult(IEnumerable<Point>, StylusShape)

指定したパスと Stroke を使用して切断された後の現在の StylusShape のセグメントを返します。

public:
 System::Windows::Ink::StrokeCollection ^ GetEraseResult(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ eraserPath, System::Windows::Ink::StylusShape ^ eraserShape);
public System.Windows.Ink.StrokeCollection GetEraseResult (System.Collections.Generic.IEnumerable<System.Windows.Point> eraserPath, System.Windows.Ink.StylusShape eraserShape);
member this.GetEraseResult : seq<System.Windows.Point> * System.Windows.Ink.StylusShape -> System.Windows.Ink.StrokeCollection
Public Function GetEraseResult (eraserPath As IEnumerable(Of Point), eraserShape As StylusShape) As StrokeCollection

パラメーター

eraserPath
IEnumerable<Point>

Point を切断するパスを指定する Stroke 型の配列。

eraserShape
StylusShape

消しゴムの形状を指定する StylusShape

戻り値

StrokeCollection

指定したパスによって切断された後の現在の StrokeCollection のセグメントのコピーを格納する Stroke

次の例では、指定したパスと交差するインクを消去する方法を示します。

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);

StrokeCollection eraseResults = aStroke.GetEraseResult(myPoints, myStylus);

// inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke);
inkCanvas1.Strokes.Add(eraseResults);
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)

Dim eraseResults As StrokeCollection = aStroke.GetEraseResult(myPoints, myStylus)

' inkCanvas1 is the InkCanvas on which we update the strokes
inkCanvas1.Strokes.Remove(aStroke)
inkCanvas1.Strokes.Add(eraseResults)

注釈

このメソッドはGetEraseResult、ストロークeraserPathをヒット テストするために使用eraserShapeし、分割されたセグメントを表す a StrokeCollection を返します。 GetEraseResultStrokeのファイルは変更されません。

適用対象