Stroke.GetEraseResult Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
GetEraseResult(IEnumerable<Point>) |
Returns segments of the current Stroke that are outside the specified bounds. |
GetEraseResult(Rect) |
Returns segments of the current Stroke that are outside the specified rectangle. |
GetEraseResult(IEnumerable<Point>, StylusShape) |
Returns the segments of the current Stroke after it is dissected by the designated path using the specified StylusShape. |
GetEraseResult(IEnumerable<Point>)
Returns segments of the current Stroke that are outside the specified bounds.
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
Parameters
- lassoPoints
- IEnumerable<Point>
An array of type Point that specifies the area to erase.
Returns
A StrokeCollection that contains the segments of the current Stroke that are outside the specified bounds.
Examples
The following example removes the ink that is within the specified bounds.
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)
Remarks
The GetEraseResult method returns a StrokeCollection that contains strokes that represent the segments of the Stroke that are outside of lassoPoints
. GetEraseResult does not change the original Stroke.
The GetClipResult method connects the first and last points in lassoPoints
to create the lasso.
Applies to
GetEraseResult(Rect)
Returns segments of the current Stroke that are outside the specified rectangle.
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
Parameters
Returns
A StrokeCollection that contains the segments of the current Stroke that are outside the bounds of the specified Rect.
Examples
The following example removes the ink that is within the specified bounds.
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)
Remarks
The GetEraseResult method returns a StrokeCollection that contains strokes that represent the segments of the Stroke that are outside of bounds
. GetEraseResult does not change the original Stroke.
Applies to
GetEraseResult(IEnumerable<Point>, StylusShape)
Returns the segments of the current Stroke after it is dissected by the designated path using the specified 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
Parameters
- eraserPath
- IEnumerable<Point>
An array of type Point that specifies the path that dissects the Stroke.
- eraserShape
- StylusShape
A StylusShape that specifies the shape of the eraser.
Returns
A StrokeCollection that contains copies of the segments of the current Stroke after it is dissected by the specified path.
Examples
The following example demonstrates how to erase the ink that intersects a specified path.
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)
Remarks
The GetEraseResult method uses eraserShape
to hit test the stroke along eraserPath
and returns a StrokeCollection that represent dissected segments. GetEraseResult does not change the original Stroke.