Функция 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. Если значение 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
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел