Share via


IDCompositionVisual::SetTransform (IDCompositionTransform*) 方法 (dcomp.h)

將這個視覺效果的 Transform 屬性設定為指定的 2D 轉換物件。

語法

HRESULT SetTransform(
  [in, optional] IDCompositionTransform *transform
);

參數

[in, optional] transform

類型: IDCompositionTransform*

用來修改這個視覺效果座標系統的轉換物件。 此參數可以指向 IDCompositionTransform 介面或其其中一個衍生介面。 此參數可以是 Null。

傳回值

類型: HRESULT

如果函式成功,它會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼的清單,請參閱 DirectComposition 錯誤 碼。

備註

設定 Transform 屬性會轉換這個視覺效果上根目錄之整個視覺子樹的座標系統。 如果指定這個視覺效果的 Clip 屬性,也會轉換剪輯矩形。

如果先前指定轉換矩陣的 Transform 屬性,則新指定的轉換物件會取代轉換矩陣。

Transform 屬性指定的轉換會在 OffsetX 和 OffsetY 屬性之後套用。 換句話說,設定 Transform 屬性和 OffsetX 和 OffsetY 屬性的效果,與只在群組的第一個成員是 IDCompositionTranslateTransform 物件且具有相同 OffsetX 和 OffsetY 值的轉換群組上設定 Transform 屬性相同。 不過,您應該盡可能使用 IDCompositionVisual::SetOffsetXSetOffsetY 方法,因為它們稍微快一點。

如果 轉換 是不正確指標,或不是由建立此視覺效果的相同 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

另請參閱

IDCompositionMatrixTransform

IDCompositionRotateTransform

IDCompositionScaleTransform

IDCompositionSkewTransform

IDCompositionTransform

IDCompositionTranslateTransform

IDCompositionVisual

IDCompositionVisual::SetOffsetX

IDCompositionVisual::SetOffsetY