D3DXColorAdjustSaturation 函式 (D3DX10Math.h)

注意

D3DX10 公用程式程式庫已被取代。 建議您改用 DirectXMath

調整色彩的飽和度值。

語法

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

參數

pOut [in]

類型: 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;

規格需求

需求
標頭
D3DX10Math.h
程式庫
D3DX10.lib

另請參閱

數學函式