Renderer.Measure 方法 (Stroke, DrawingAttributes)
计算设备上下文上的 Rectangle,该矩形用于包含要 由 Renderer 对象的 Draw 方法通过使用指定的 DrawingAttributes 绘制的 Stroke 对象。
命名空间: Microsoft.Ink
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Function Measure ( _
stroke As Stroke, _
da As DrawingAttributes _
) As Rectangle
用法
Dim instance As Renderer
Dim stroke As Stroke
Dim da As DrawingAttributes
Dim returnValue As Rectangle
returnValue = instance.Measure(stroke, _
da)
public Rectangle Measure(
Stroke stroke,
DrawingAttributes da
)
public:
Rectangle Measure(
Stroke^ stroke,
DrawingAttributes^ da
)
public Rectangle Measure(
Stroke stroke,
DrawingAttributes da
)
public function Measure(
stroke : Stroke,
da : DrawingAttributes
) : Rectangle
参数
- stroke
类型:Microsoft.Ink.Stroke
要度量的 Stroke 对象。
- da
类型:Microsoft.Ink.DrawingAttributes
计算矩形时要使用的 DrawingAttributes,这些属性重写 Stroke 对象的 DrawingAttributes 属性。
返回值
类型:System.Drawing.Rectangle
设备上下文上的 Rectangle,该矩形用于包含要用 Renderer 对象的 Draw 方法绘制的笔画。笔画必须包含 x 坐标和 y 坐标才能计算矩形。否则,该方法返回空矩形。
备注
仅当将相同的参数传递到 Measure 和 Draw 方法时,此方法才准确。
因为边界框受到笔宽度的影响,所以此宽度根据 Renderer 对象的视图变换进行相应缩放。为此,笔宽度将乘以视图变换的行列式的平方根。边界框的高度和宽度在每个方向上展开该数量的一半,并且右侧和下方增加一个单位。
例如,如果最初的笔宽度为 53,视图变换的行列式的平方根为 50,边界框为 (0, 0, 1000, 1000)。根据笔宽度,边界框在每个方向上的调整计算方法为 (53 * 50) / 2,右侧和下方增加一个单位。这样,将呈现出边界框 (-1325, -1325, 2326, 2326)。
示例
此 C# 示例获取当笔宽度加倍时 Stroke 对象 theStroke 的边框。Renderer 对象来自 InkOverlay 对象 theInkOverlay。
DrawingAttributes drawingAtt = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Rectangle bounds = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);
此 Microsoft(R) Visual Basic(R) .NET 示例获取当笔宽度加倍时 Stroke 对象 theStroke 的边框。Renderer 对象来自 InkOverlay 对象 theInkOverlay。
Dim drawingAtt As DrawingAttributes = theStroke.DrawingAttributes.Clone();
drawingAtt.Width = drawingAtt.Width * 2;
Dim bounds As Rectangle = theInkOverlay.Renderer.Measure(theStroke, drawingAtt);
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0