Share via


D3DXColorAdjustSaturation 函式 (D3dx9math.h)

注意

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 結構的指標,這是飽和度調整的結果。

備註

輸入 Alpha 色板會以未修改方式複製到輸出 Alpha 色板。

此函式的傳回值與 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