IDCompositionVisual2::SetOpacityMode 方法 (dcomp.h)
設定此視覺效果的不透明度模式。
語法
HRESULT SetOpacityMode(
[in] DCOMPOSITION_OPACITY_MODE mode
);
參數
[in] mode
將視覺效果撰寫至畫面時要使用的不透明度模式。
傳回值
如果函式成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼清單,請參閱 DirectComposition 錯誤碼 。
備註
不透明度模式會影響效果群組物件的 Opacity 屬性如何影響可視化子樹狀結構的組合。 DirectComposition 支援兩種不透明度模式:Layer 和 Multiply。 在圖層模式中,每個可視化子樹狀結構都可以以邏輯方式檢視為位圖,其中包含該整個子樹狀結構的不透明點陣化,然後套用不透明度值。 如此一來,重疊的不透明表面會與子樹狀結構的背景混合,但不會彼此混合。 相反地,在乘法模式中,不透明度會在組成時個別套用至每個表面,因此表面會彼此混合。 乘法模式比圖層模式快,如果可視化樹狀結構包含完全非重疊的內容,則一律偏好使用。 不過,乘法模式可能會產生重迭元素的不想要視覺結果。
根據預設,視覺效果會繼承其父視覺效果的不透明度模式,這可能會繼承其父視覺效果的不透明度模式等等。 如果從未針對視覺效果呼叫這個方法,或是使用 DCOMPOSITION_OPACITY_MODE_INHERIT呼叫此方法,則視覺效果會使用DCOMPOSITION_OPACITY_MODE_LAYER模式。 如果沒有視覺效果設定不透明度模式,整個可視化樹狀結構的預設值會DCOMPOSITION_OPACITY_MODE_LAYER。
如果 opacityMode 參數不是DCOMPOSITION_OPACITY_MODE_INHERIT,則此視覺效果的介面是由指定的不透明度模式所組成。 此外,這個不透明度模式會成為目前視覺效果子系的新預設值。 也就是說,如果此視覺效果子系的不透明度模式未變更或明確設定為DCOMPOSITION_OPACITY_MODE_INHERIT,則子視覺效果會使用此視覺效果的不透明度模式組成。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dcomp.h |
程式庫 | Dcomp.lib |
Dll | Dcomp.dll |