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
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱