IInkStrokeDisp::GetBoundingBox 方法 (msinkaut.h)
检索 InkDisp 对象、单个笔划或 InkStrokes 集合中所有笔划的墨迹空间坐标中的边界框。
语法
HRESULT GetBoundingBox(
[in, optional] InkBoundingBoxMode BoundingBoxMode,
[out, retval] IInkRectangle **Rectangle
);
参数
[in, optional] BoundingBoxMode
可选。 指定用于计算边界框的笔划特征。 默认值为 -1,表示笔划的所有特征都用于指定边界框。
有关使用笔划特征计算边界框的更多详细信息,请参阅 BoundingBoxMode 枚举类型。
[out, retval] Rectangle
此方法返回时,包含指向矩形的指针,该矩形定义 InkDisp 对象、 IInkStrokeDisp 对象或 InkStrokes 集合的边界框。
注意 对于 IInkStrokeDisp 对象,返回的边界框是笔划边界框的副本,因此更改返回的边界框不会影响笔划位置。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
参数包含无效的指针。 |
|
方法内发生异常。 |
|
意外的参数或属性类型。 |
|
InkRectangle 对象未注册。 |
注解
当边界框受笔宽度的影响时,会根据 InkRenderer 的视图转换适当缩放此宽度。 为此,笔宽度乘以视图转换行列的平方根。
注意 在 Windows Vista 及更高版本中, GetBoundingBox 方法 不考虑笔划的宽度。
注意 如果尚未显式设置笔宽度,则默认为 53。 必须将笔宽度乘以行列函数的平方根才能生成正确的边界框。 边界框的高度和宽度在每个方向上扩展了一半。 例如,假设笔宽度为 53,行列式的平方根为 50,边界框 (0,0,1000,1000) 。 每个方向对边界框的笔宽度调整计算为 (53 * 50) / 2,右侧和底部边递增 1。 这会导致呈现的边界框 (-1325、-1325、2326、2326) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | msinkaut.h |
Library | InkObj.dll |