IDCompositionVisual2::SetOpacityMode メソッド (dcomp.h)
このビジュアルの不透明度モードを設定します。
構文
HRESULT SetOpacityMode(
[in] DCOMPOSITION_OPACITY_MODE mode
);
パラメーター
[in] mode
画面にビジュアルを作成するときに使用する不透明度モード。
戻り値
関数が成功した場合は、S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。 エラー コードの一覧については、「 DirectComposition エラー コード 」を参照してください。
注釈
不透明度モードは、効果グループ オブジェクトの Opacity プロパティがビジュアル サブツリーの構成にどのように影響するかに影響します。 DirectComposition では、レイヤーと乗算の 2 つの不透明度モードがサポートされています。 レイヤー モードでは、各ビジュアル サブツリーは、そのサブツリー全体の不透明なラスター化を含むビットマップとして論理的に表示され、不透明度の値が適用されます。 このように、重なり合う不透明なサーフェスはサブツリーの背景とブレンドされますが、互いにブレンドされません。 これに対し、乗算モードでは、不透明度は構成時に各サーフェスに個別に適用されるため、サーフェスは互いにブレンドされます。 乗算モードはレイヤー モードよりも高速であり、ビジュアル ツリーに完全に重複しないコンテンツが含まれている場合は常に優先されます。 ただし、乗算モードでは、重複する要素に対して望ましくない視覚結果が生成される場合があります。
既定では、ビジュアルは親ビジュアルの不透明度モードを継承し、親ビジュアルの不透明度モードを継承する場合があります。 ビジュアルに対してこのメソッドが呼び出されない場合、またはこのメソッドが 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 |
Library | Dcomp.lib |
[DLL] | Dcomp.dll |