Função D3DXColorAdjustSaturation (D3DX10Math.h)
Observação
A biblioteca de utilitários D3DX10 foi preterida. Em vez disso, recomendamos que você use DirectXMath .
Ajusta o valor de saturação de uma cor.
Sintaxe
D3DXCOLOR* D3DXColorAdjustSaturation(
_In_ D3DXCOLOR *pOut,
_In_ const D3DXCOLOR *pC,
_In_ FLOAT s
);
Parâmetros
-
pOut [in]
-
Tipo: D3DXCOLOR*
Ponteiro para um D3DXCOLOR que é o resultado da operação.
-
pC [in]
-
Tipo: const D3DXCOLOR*
Ponteiro para uma estrutura D3DXCOLOR de origem.
-
s [in]
-
Tipo: FLOAT
Valor de saturação. Esse parâmetro interpola linearmente entre a cor convertida em escala de cinza e a cor original, pC. Não há limites para o valor de s. Se s for 0, a cor retornada será a cor de escala de cinza. Se s for 1, a cor retornada será a cor original.
Valor retornado
Tipo: D3DXCOLOR*
Essa função retorna um ponteiro para uma estrutura D3DXCOLOR que é o resultado do ajuste de saturação.
Comentários
O canal alfa de entrada é copiado, não modificado, para o canal alfa de saída.
O valor retornado para essa função é o mesmo valor retornado no parâmetro pOut. Dessa forma, essa função pode ser usada como um parâmetro para outra função.
Essa função interpola os componentes de cor vermelho, verde e azul de uma estrutura D3DXCOLOR entre uma cor insaturada e uma cor, conforme mostrado no exemplo a seguir.
//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);
Se s for maior que 0 e menor que 1, a saturação será reduzida. Se s for maior que 1, a saturação será aumentada.
A cor de escala de cinza é computada como:
r = g = b = 0.2125*r + 0.7154*g + 0.0721*b;
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também