次の方法で共有


IDXGISwapChain1::SetBackgroundColor メソッド (dxgi1_2.h)

スワップ チェーンの背景色を変更します。

構文

HRESULT SetBackgroundColor(
  [in] const DXGI_RGBA *pColor
);

パラメーター

[in] pColor

設定する背景色を指定する DXGI_RGBA 構造体へのポインター。

戻り値

SetBackgroundColor は 次を返します。

  • 背景色が正常に設定された場合は、S_OKします。
  • pColor パラメーターが正しくない場合E_INVALIDARG、pColor が NULL であるか、pColor ポイントが 0.0 から 1.0 の範囲外にあるDXGI_RGBAのメンバーの浮動小数点値のいずれかです。
  • 場合によっては、 DXGI_ERROR トピックで説明されているその他のエラー コード。

Windows 7 用プラットフォーム更新プログラム: Windows 7 用プラットフォーム更新プログラム がインストールされている Windows 7 または Windows Server 2008 R2 では、 SetBackgroundColor はE_NOTIMPLで失敗します。 Windows 7 用プラットフォーム更新プログラムの詳細については、「Windows 7 用プラットフォーム更新プログラム」を参照してください。

解説

背景色は、ウィンドウ モードで DXGI_SCALING_NONE で作成したスワップ チェーンにのみ影響します。 この値は、 IDXGIFactory2::CreateSwapChainForHwndIDXGIFactory2::CreateSwapChainForCoreWindow、または IDXGIFactory2::CreateSwapChainForComposition の呼び出しで渡します。 通常、スワップ チェーンの内容が変換先ウィンドウよりも小さい場合を除き、背景色は表示されません。

背景色を設定しても、すぐには実現されません。 これは、 IDXGISwapChain1::P resent1 メソッドの次回の呼び出しと組み合わせて有効になります。 IDXGISwapChain1::P resent1 に渡すDXGI_PRESENT フラグは、必要な効果を実現するのに役立ちます。 たとえば、SetBackgroundColor を呼び出し、Flags パラメーターを DXGI_PRESENT_DO_NOT_SEQUENCE に設定して IDXGISwapChain1::P resent1 を呼び出した場合、スワップ チェーンの表示内容を変更せずに背景色のみを変更します。

IDXGISwapChain1::P resent1 メソッドを呼び出してスワップ チェーンの内容を表示すると、IDXGISwapChain1::P resent1 は、DXGI_SWAP_CHAIN_DESC1 構造体の AlphaMode メンバーで指定されたDXGI_ALPHA_MODE値を使用して、DXGI_RGBA構造体のメンバー (背景色のアルファ値) を処理する方法を決定します。 ウィンドウの透過性を実現します。 たとえば、 AlphaModeDXGI_ALPHA_MODE_IGNOREの場合、 IDXGISwapChain1::P resent1DXGI_RGBA のメンバーを無視します。

メモ すべてのプレゼンテーション データと同様に、線形色空間で浮動小数点演算を実行することをお勧めします。 デスクトップが固定ビット色深度モードの場合、オペレーティング システムは、線形カラー データを標準の RGB データ (sRGB、ガンマ 2.2 修正空間) に変換して画面に作成します。 詳細については、「 色空間のデータの変換」を参照してください。
 

要件

   
サポートされている最小のクライアント Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー dxgi1_2.h
Library Dxgi.lib

関連項目

DXGI_SCALING

IDXGISwapChain1

IDXGISwapChain1::GetBackgroundColor