Ink.Clip 方法
移除 Stroke 对象或 Strokes 集合在给定矩形以外的部分。
命名空间: Microsoft.Ink
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Sub Clip ( _
r As Rectangle _
)
用法
Dim instance As Ink
Dim r As Rectangle
instance.Clip(r)
public void Clip(
Rectangle r
)
public:
void Clip(
Rectangle r
)
public void Clip(
Rectangle r
)
public function Clip(
r : Rectangle
)
参数
- r
类型:System.Drawing.Rectangle
在其外部裁剪 Stroke 对象或 Strokes 集合的矩形。
备注
r 参数是用墨迹空间坐标指定的。
从 Ink 对象删除矩形外部的墨迹 部分。因此,Clip 方法可以将新点添加到 Stroke 对象中 Stroke 对象与矩形相交的点。
在 Ink 对象上调用 Clip 方法后,Ink 对象的 Strokes 集合中的每个 Stroke 对象的属性都可能发生更改。例如,如果 Stroke 对象在裁剪矩形区域中开始,退出裁剪矩形,然后返回裁剪矩形中;则它将成为两个 Stroke 对象,其中至少一个具有新的 Id 属性。尽管有此行为,即使发生更改,Ink 对象中的所有 Id 属性仍保证是唯一的。Stroke 对象的其他属性也可能发生类似更改。
在裁剪时,此方法不考虑笔宽度。它仅裁剪实际墨迹或笔画数据。
对于 Stroke 对象或 Strokes 集合,Clip 方法更新父 Ink 对象。无论何时从 Ink 对象移除墨迹,任何为该 Ink 对象定义的 Stroke 对象或 Strokes 集合都将无效。
有关如何操作墨迹数据的更多信息,请参见Ink Data。
示例
在此示例中,将获取墨迹控件的工作区,并将其转换为 HIMETRIC 单位,然后减少 1500 单位的大小。然后,使用 Clip 方法移除 Stroke 对象落在矩形以外的部分。
' get the bottom right point of the client area for ink
' Note: InkOverlay.AttachedControl property must be set
Dim bottomRight As Point = New Point(mInkOverlay.AttachedControl.ClientSize)
' convert to HIMETRIC units
Using g As Graphics = mInkOverlay.AttachedControl.CreateGraphics()
mInkOverlay.Renderer.PixelToInkSpace(g, bottomRight)
End Using
' create a rectangle of the client area (HIMETRIC units)
Dim R As Rectangle = New Rectangle(0, 0, bottomRight.X, bottomRight.Y)
' shrink the rectangle by 1500
R.Inflate(-1500, -1500)
' clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R)
mInkOverlay.AttachedControl.Invalidate()
// get the bottom right point of the client area for ink
// Note: InkOverlay.AttachedControl property must be set
Point bottomRight = new Point(mInkOverlay.AttachedControl.ClientSize);
// convert to HIMETRIC units
using (Graphics g = mInkOverlay.AttachedControl.CreateGraphics())
{
mInkOverlay.Renderer.PixelToInkSpace(g, ref bottomRight);
}
// create a rectangle of the client area (HIMETRIC units)
Rectangle R = new Rectangle(0, 0, bottomRight.X, bottomRight.Y);
// shrink the rectangle by 1500
R.Inflate(-1500, -1500);
// clip the strokes to the rectangle
mInkOverlay.Ink.Clip(R);
mInkOverlay.AttachedControl.Invalidate();
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0