Microsoft DirectX 8.0 (C++) |
カラーの彩度値を調節する。
D3DXCOLOR* D3DXColorAdjustSaturation( D3DXCOLOR* pOut, D3DXCOLOR* pC, FLOAT s );
この関数は、彩度調整結果の 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
ヘッダー : D3dx8math.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。