共用方式為


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

另請參閱

IDCompositionEffectGroup::SetOpacity

IDCompositionVisual2