IDCompositionVisual3::SetTransform (IDCompositionTransform3D*) 方法 (dcomp.h)
將這個視覺效果的 Transform 屬性設定為指定的 3D 轉換物件。
語法
HRESULT SetTransform(
[in, optional] IDCompositionTransform3D *transform
);
參數
[in, optional] transform
用來修改這個視覺效果座標系統的轉換物件。 此參數可以指向 IDCompositionTransform 介面或其其中一個衍生介面。 此參數可以是 Null。
傳回值
類型: HRESULT
如果函式成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼清單,請參閱 DirectComposition 錯誤碼 。
備註
設定 Transform 屬性會轉換此視覺效果根目錄之整個視覺子樹的座標系統。 如果指定這個視覺效果的 Clip 屬性,也會轉換裁剪矩形。
如果轉換屬性先前指定轉換矩陣,則新指定的轉換物件會取代轉換矩陣。
Transform 屬性指定的轉換會在 OffsetX 和 OffsetY 屬性之後套用。 換句話說,設定 Transform 屬性和 OffsetX 和 OffsetY 屬性的效果與只設定轉換群組上的 Transform 屬性相同,其中群組的第一個成員是 IDCompositionTranslateTransform 物件,其具有相同 OffsetX 和 OffsetY 值的 IDCompositionTransform 物件。 不過,您應該盡可能使用 IDCompositionVisual::SetOffsetX 和 SetOffsetY 方法,因為它們稍微快一點。
如果 轉換 是不正確指標,或不是由建立此視覺效果的相同 IDCompositionDevice 介面所建立,這個方法就會失敗。 介面不能是自訂實作;只有由 Microsoft DirectComposition 建立的介面可以搭配這個方法使用。
如果 轉換 參數為 Null,此視覺效果的座標系統只會由其 OffsetX 和 OffsetY 屬性轉換。 將 Transform 屬性設定為 Null 相當於將它設定為 IDCompositionMatrixTransform 物件,其中指定的矩陣是識別矩陣。 不過,應用程式應該盡可能將 Transform 屬性設定為 Null,因為它稍微快一點。
如果 OffsetX 和 OffsetY 屬性設定為 0,且 Transform 屬性設定為 Null,視覺效果的座標系統會與其父系的座標系統相同。
需求
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dcomp.h |
程式庫 | Dcomp.lib |
Dll | Dcomp.dll |
另請參閱
IDCompositionTranslateTransform