IDCompositionVisual::SetTransform (IDCompositionTransform*) 方法 (dcomp.h)
将此视觉对象的 Transform 属性设置为指定的 2D 转换对象。
语法
HRESULT SetTransform(
[in, optional] IDCompositionTransform *transform
);
参数
[in, optional] transform
用于修改此视觉对象的坐标系的转换对象。 此参数可以指向 IDCompositionTransform 接口或其派生接口之一。 此参数可以为 NULL。
返回值
类型: HRESULT
如果函数成功,则返回S_OK。 否则,将返回 HRESULT 错误代码。 有关 错误代码的列表,请参阅 DirectComposition 错误代码 。
备注
设置 Transform 属性将转换根植于此视觉对象的整个视觉对象子树的坐标系。 如果指定了此视觉对象的 Clip 属性,则也会转换剪辑矩形。
如果 Transform 属性以前指定了转换矩阵,则新指定的转换对象将替换转换矩阵。
Transform 属性指定的转换在 OffsetX 和 OffsetY 属性之后应用。 换句话说,设置 Transform 属性和 OffsetX 和 OffsetY 属性的效果与仅设置转换组的 Transform 属性相同,其中组的第一个成员是具有相同 OffsetX 和 OffsetY 值的 IDCompositionTranslateTransform 对象。 但是,应尽可能使用 IDCompositionVisual::SetOffsetX 和 SetOffsetY 方法,因为它们稍微快一些。
如果 transform 是无效指针,或者它不是由创建此视觉对象的同一 IDCompositionDevice 接口创建的,则此方法失败。 接口不能是自定义实现;只有 Microsoft DirectComposition 创建的接口才能与此方法一起使用。
如果 transform 参数为 NULL,则此视觉对象的坐标系仅通过其 OffsetX 和 OffsetY 属性进行转换。 将 Transform 属性设置为 NULL 等效于将其设置为 IDCompositionMatrixTransform 对象,其中指定的矩阵是标识矩阵。 但是,应用程序应尽可能将 Transform 属性设置为 NULL,因为它稍微快一些。
如果 OffsetX 和 OffsetY 属性设置为 0,而 Transform 属性设置为 NULL,则视觉对象的坐标系与其父级的坐标系相同。
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | dcomp.h |
Library | Dcomp.lib |
DLL | Dcomp.dll |
另请参阅
IDCompositionTranslateTransform