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 对象,返回的边界框是笔划边界框的副本,因此更改返回的边界框不会影响笔划位置。
 

返回值

此方法可以返回其中一个值。

返回代码 描述
S_OK
成功。
E_POINTER
参数包含无效指针。
E_INK_EXCEPTION
方法内发生异常。
E_UNEXPECTED
意外的参数或属性类型。
REGDB_CLASSNOTREG
未注册 InkRectangle 对象。

言论

当边界框受笔宽影响时,此宽度会相应地缩放 InkRenderer的视图转换。 为此,笔宽乘以视图转换决定因素的平方根。

注意 Windows Vista 及更高版本中,GetBoundingBox 方法 不考虑笔划的宽度。
 
注意 如果尚未显式设置笔宽,则默认为 53。 必须将笔宽乘以确定因素的平方根,才能生成正确的边界框。 边界框的高度和宽度将在每个方向上扩展一半。 例如,假设笔宽为 53,确定因素的平方根为 50,边界框为 (0, 0, 1000, 1000)。 每个方向对边界框的笔宽调整计算为 (53 * 50) / 2,右侧和底部边递增一个。 这会导致呈现的边界框(-1325、-1325、2326、2326)。
 

要求

要求 价值
最低支持的客户端 Windows XP Tablet PC Edition [仅限桌面应用]
支持的最低服务器 不支持
目标平台 窗户
标头 msinkaut.h
InkObj.dll

另请参阅

IInkStrokeDisp 接口

InkBoundingBoxMode 枚举

InkRectangle 类