Renderer.Measure 方法 (Stroke)

计算设备上下文上的 Rectangle,该矩形用于包含要用 Renderer 对象的 Draw 方法绘制的 Stroke 对象。

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Function Measure ( _
    stroke As Stroke _
) As Rectangle
用法
Dim instance As Renderer
Dim stroke As Stroke
Dim returnValue As Rectangle

returnValue = instance.Measure(stroke)
public Rectangle Measure(
    Stroke stroke
)
public:
Rectangle Measure(
    Stroke^ stroke
)
public Rectangle Measure(
    Stroke stroke
)
public function Measure(
    stroke : Stroke
) : Rectangle

参数

返回值

类型:System.Drawing.Rectangle
设备上下文上的 Rectangle,该矩形用于包含要用 Renderer 对象的 Draw 方法绘制的笔画。笔画必须包含 x 坐标和 y 坐标才能计算矩形。否则,该方法返回空矩形。

备注

仅当将相同的参数传递到 MeasureDraw 方法时,此方法才准确。

因为边界框受到笔宽度的影响,所以此宽度根据 Renderer 对象的视图变换进行相应缩放。为此,笔宽度将乘以视图变换的行列式的平方根。边界框的高度和宽度在每个方向上展开该数量的一半,并且右侧和下方增加一个单位。

例如,如果最初的笔宽度为 53,视图变换的行列式的平方根为 50,边界框为 (0, 0, 1000, 1000)。根据笔宽度,边界框在每个方向上的调整计算方法为 (53 * 50) / 2,右侧和下方增加一个单位。这样,将呈现出边界框 (-1325, -1325, 2326, 2326)。

示例

此 C# 示例通过使用 Point 对象的数组 points,获取 Ink.CreateStroke 所创建的 Stroke 对象的边框。Ink 对象和 Renderer 对象来自 InkOverlay 对象 theInkOverlay。

Stroke createdStroke = theInkOverlay.Ink.CreateStroke(points);
Rectangle bounds = theInkOverlay.Renderer.Measure(createdStroke);

此 Microsoft(R) Visual Basic(R) .NET 示例通过使用 Point 对象的数组 points,获取 Ink.CreateStroke 所创建的 Stroke 对象的边框。Ink 对象和 Renderer 对象来自 InkOverlay 对象 theInkOverlay。

Dim createdStroke As Stroke = theInkOverlay.Ink.CreateStroke(points)
Dim bounds As Rectangle = theInkOverlay.Renderer.Measure(createdStroke)

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

Renderer 类

Renderer 成员

Measure 重载

Microsoft.Ink 命名空间

Renderer.Draw

Stroke.GetBoundingBox

Strokes.GetBoundingBox

DrawingAttributes