StrokeCollection.Erase 方法

定义

移除位于指定区域边界内的墨迹。

重载

Erase(IEnumerable<Point>)

移除位于指定区域边界内的墨迹。

Erase(Rect)

将指定矩形剪裁的所有笔画替换为不输入指定矩形边界的新笔画。

Erase(IEnumerable<Point>, StylusShape)

沿指定路径将由指定 StylusShape 创建的区域所剪裁的所有笔画替换为未被该区域剪裁的新笔画。

Erase(IEnumerable<Point>)

移除位于指定区域边界内的墨迹。

public:
 void Erase(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints);
public void Erase (System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints);
member this.Erase : seq<System.Windows.Point> -> unit
Public Sub Erase (lassoPoints As IEnumerable(Of Point))

参数

lassoPoints
IEnumerable<Point>

Point 类型的数组,用于指定要擦除的区域。

示例

以下示例演示如何擦除 中的 StrokeCollection笔划。 此示例假定有一个名为 InkPresenterpresenter

// Erase the selected strokes.
public void EraseStrokes(Stroke lasso)
{
    Point[] strokePoints = (Point[])lasso.StylusPoints;
    presenter.Strokes.Erase(strokePoints);
}
' Erase the selected strokes.
Public Overloads Sub EraseStrokes(ByVal lasso As Stroke)

    If lasso Is Nothing Then
        Return
    End If

    Dim strokePoints() As Point = CType(lasso.StylusPoints, Point())

    presenter.Strokes.Erase(strokePoints)

End Sub

注解

方法 Erase 连接 中的 lassoPoints 第一个和最后一个点以创建套索。

调用 StrokeCollection 方法后, Erase 可能包含新的笔划。 例如,如果指定的区域穿过 的 Stroke中间,则 erase 方法会删除该 Stroke 区域并创建两个新笔划。

方法Erase会为其擦除的每个 Stroke 引发 StrokesChanged 事件。

适用于

Erase(Rect)

将指定矩形剪裁的所有笔画替换为不输入指定矩形边界的新笔画。

public:
 void Erase(System::Windows::Rect bounds);
public void Erase (System.Windows.Rect bounds);
member this.Erase : System.Windows.Rect -> unit
Public Sub Erase (bounds As Rect)

参数

bounds
Rect

指定要擦除的区域的 Rect

示例

以下示例演示如何擦除 中的 Rect墨迹。 此示例假定有一个名为 InkPresenterpresenter

Rect rect = new Rect(100, 100, 200, 200);
presenter.Strokes.Erase(rect);
Dim rect As Rect = New Rect(100, 100, 200, 200)
presenter.Strokes.Erase(rect)

注解

调用 StrokeCollection 方法后, Erase 可能包含新的笔划。 例如,如果指定的区域穿过 的 Stroke中间,则 erase 方法会删除该 Stroke 区域并创建两个新笔划。 将删除完全位于指定矩形内的所有笔划。

方法Erase会为其擦除的每个 Stroke 引发 StrokesChanged 事件。

适用于

Erase(IEnumerable<Point>, StylusShape)

沿指定路径将由指定 StylusShape 创建的区域所剪裁的所有笔画替换为未被该区域剪裁的新笔画。

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

参数

eraserPath
IEnumerable<Point>

Point 类型的数组,用于指定要擦除的路径。

eraserShape
StylusShape

StylusShape,用于指定橡皮擦的形状。

示例

以下示例演示如何擦除沿特定路径的墨迹。 此示例假定有一个名为 InkPresenterpresenter

// Erase the ink that intersects the lasso.
public void ErasePath(Stroke lasso)
{
    EllipseStylusShape eraserTip = new EllipseStylusShape(5, 5);
    Point[] strokePoints = (Point[])lasso.StylusPoints;

    presenter.Strokes.Erase(strokePoints, eraserTip);
}
' Erase the ink that intersects the lasso.
Public Overloads Sub ErasePath(ByVal lasso As Stroke)

    If lasso Is Nothing Then
        Return
    End If

    Dim eraserTip As New EllipseStylusShape(5, 5, 0)
    Dim strokePoints() As Point = CType(lasso.StylusPoints, Point())

    presenter.Strokes.Erase(strokePoints, eraserTip)

End Sub

注解

调用 StrokeCollection 方法后, Erase 可能包含新的笔划。 例如,如果 path 与 的 Stroke中间相交,则 erase 方法会删除该 Stroke 位置并创建两个新的笔划。

方法Erase会为其擦除的每个 Stroke 引发 StrokesChanged 事件。

适用于