次の方法で共有


D3DXColorAdjustSaturation 関数 (D3dx9math.h)

Note

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

色の彩度の値を調整します。

構文

D3DXCOLOR* D3DXColorAdjustSaturation(
  _Inout_       D3DXCOLOR *pOut,
  _In_    const D3DXCOLOR *pC,
  _In_          FLOAT     s
);

パラメーター

pOut [in, out]

種類: D3DXCOLOR*

操作の結果である D3DXCOLOR 構造体へのポインター。

pC [in]

型: const D3DXCOLOR*

ソース D3DXCOLOR 構造体へのポインター。

s [in]

型: FLOAT

彩度の値。 このパラメーターは、グレースケールに変換された色と元の色 pC の間を直線的に補間します。 の値に制限はありません。 s が 0 の場合、返される色はグレースケールの色になります。 s が 1 の場合、返される色は元の色になります。

戻り値

種類: D3DXCOLOR*

この関数は、飽和調整の結果である D3DXCOLOR 構造体へのポインターを返します。

解説

入力アルファ チャネルは、変更されていない状態で出力アルファ チャネルにコピーされます。

この関数の戻り値は、pOut パラメーターで返される値と同じです。 この方法では、この関数を別の関数のパラメーターとして使用できます。

この関数は、次の例に示すように、 D3DXCOLOR 構造体の赤、緑、青の色成分を不飽和色と色の間で補間します。

    // Approximate values for each component's contribution to luminance.
    // Based upon the NTSC standard described in ITU-R Recommendation BT.709.
    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

要件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数

D3DXColorAdjustContrast