Platform SDK: DirectX

IDirectDrawGammaControl::SetGammaRamp

IDirectDrawGammaControl::SetGammaRamp メソッドは、プライマリ サーフェスに対する赤、緑、および青ガンマ ランプを取得する。

HRESULT SetGammaRamp(
  DWORD  dwFlags,
  LPGAMMARAMP lpRampData
); 

パラメータ

dwFlags
ガンマ キャリブレーションを要求するかどうかを示すフラグ。このパラメータを DDSGR_CALIBRATE に設定すると、口径測定器がすべてのシステム上で同一になるように、ディスプレイの物理的性質に従って、ガンマ ランプの調整を要求できる。キャリブレーションを必要としない場合は、このパラメータを 0 に設定する。
lpRampData
新しい赤、緑、および青ガンマ ランプ エントリを含む DDGAMMARAMP 構造体のアドレス。個々の配列は、フレーム バッファの色の値をデジタルアナログ コンバータ (DAC) に渡す色の値にマップする。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_EXCEPTION
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY

注意

すべてのシステムでガンマ キャリブレーションをサポートするわけではない。ガンマ キャリブレーションをサポートするかどうかを決めるには、IDirectDraw7::GetCaps を呼び出し、メソッドが返した後に関連する DDCAPS 構造体の dwCaps2 メンバを調べる。DDCAPS2_CANCALIBRATEGAMMA 能力フラグが存在すると、ガンマ キャリブレーションはサポートされる。

ガンマ ランプのキャリブレーションでは、いくつかの処理にオーバーヘッドが起こるので、頻繁に使用できない。

ガンマ キャリブレーションをサポートしないシステムで実行する場合は、dwFlags パラメータに DDSGR_CALIBRATE フラグを設定すれば、このメソッドは失敗しない。キャリブレーションせずに新しいガンマ ランプ値を設定すると、メソッドは成功する。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。
  インポート ライブラリ : ddraw.lib を使用。

参照

IDirectDrawGammaControl::GetGammaRampガンマ コントロールとカラー コントロール