Platform SDK: DirectX

D3DXColorAdjustSaturation

D3DXColorAdjustSaturation 関数は、指定された色の飽和値を調整する。

D3DXCOLOR* D3DXColorAdjustSaturation(
  D3DXCOLOR* pOut,
  D3DXCOLOR* pC,
  float s
); 

パラメータ

pOut
演算結果である D3DXCOLOR 構造体へのポインタ。
pC
ソースの D3DXCOLOR 構造体へのポインタ。
s
飽和値。このパラメータは、グレー スケールに変換された色とオリジナル カラー pC の間で線形補間する。s 値に制限値はない。s が 0 の場合、返される色はグレー スケールの色である。s が 1 の場合、返される色はオリジナル カラーである。

戻り値

関数は、飽和調整結果の D3DXCOLOR 構造体へのポインタを返す。

注意

この関数の戻り値は、pOut パラメータの戻り値と同じである。このように、D3DXColorAdjustSaturation 関数を別の関数のパラメータとして使用できる。

この関数は、未飽和カラーと指定カラーの間で D3DXCOLOR 構造体の赤 (red)、緑 (green)、青 (blue) の色成分を補間する。

    // 輝度に対する各成分の係数の適切な値。
    // ITU-R 勧告 BT.709 に記載された NTSC 標準に基づく。
    float grey = pC->r * 0.2125f + pC->g * 0.7154f + pC->b * 0.0721f;
    
    pOut->r = grey + s * (pC->r - grey);

s が 0 より大きく 1 未満の場合、飽和は小さくなる。s が 1 より大きい場合、飽和は大きくなる。

グレー スケールの色は、r = g = b = 0.2125*r + 0.7154*g + 0.0721*b として算出される。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxmath.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXColorAdjustContrast