Ink.GetBoundingBox 方法 (BoundingBoxMode)
通过使用指定的 BoundingBoxMode 标志确定边界,返回边框 Rectangle,该边框包含 Ink 对象中的所有 Stroke 对象。
命名空间: Microsoft.Ink
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Function GetBoundingBox ( _
mode As BoundingBoxMode _
) As Rectangle
用法
Dim instance As Ink
Dim mode As BoundingBoxMode
Dim returnValue As Rectangle
returnValue = instance.GetBoundingBox(mode)
public Rectangle GetBoundingBox(
BoundingBoxMode mode
)
public:
Rectangle GetBoundingBox(
BoundingBoxMode mode
)
public Rectangle GetBoundingBox(
BoundingBoxMode mode
)
public function GetBoundingBox(
mode : BoundingBoxMode
) : Rectangle
参数
- mode
类型:Microsoft.Ink.BoundingBoxMode
BoundingBoxMode 枚举的一个成员(该成员指定笔画的特征,例如绘制属性)用于计算墨迹的边界框。
返回值
类型:System.Drawing.Rectangle
Rectangle,它定义 Ink 对象中的 Strokes 集合的边界框。
备注
边框 Rectangle 采用墨迹空间 坐标。
边界框会进行缓存,用于除 BoundingBoxMode 模式以外的所有模式。
如果边界框受到笔宽度的影响,则此宽度根据 Renderer 对象的视图变换进行相应缩放。为此,笔宽度将乘以视图变换的行列式的平方根。
备注
如果未显式设置笔宽度,则默认值为 53。只有将笔宽度乘以行列式的平方根才能得到正确的边界框。边界框的高度和宽度在每个方向上扩展该数量的一半。考虑这样一个示例,笔宽度为 53,行列式的平方根为 50,边界框为 (0, 0, 1000, 1000)。根据笔宽度,边界框在每个方向上的调整计算方法为 (53 * 50) / 2,右侧和下方增加一个单位。这样,将呈现出边界框 (-1325, -1325, 2326, 2326)。
备注
在 Windows Vista 及更高版本中,GetBoundingBox 方法不考虑笔画的宽度。
示例
此 C# 示例返回包含 Ink 对象中的 Strokes 集合的边框 Rectangle。Ink 对象与 InkCollector 对象 theInkCollector 关联。示例使用 BoundingBoxMode 枚举的 CurveFit 值确定边界框的边界。
Rectangle theBoundingBox =
theInkCollector.Ink.GetBoundingBox(BoundingBoxMode.CurveFit);
此 Microsoft Visual Basic.NET 示例返回包含 Ink 对象中的 Strokes 集合的边框 Rectangle。Ink 对象与 InkCollector 对象 theInkCollector 关联。示例使用 BoundingBoxMode 枚举的 BoundingBoxMode 值确定边界。
Dim theBoundingBox As Rectangle = _
theInkCollector.Ink.GetBoundingBox(BoundingBoxMode.CurveFit)
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0