Función D3DXColorAdjustSaturation (D3DX10Math.h)
Nota
La biblioteca de utilidades D3DX10 está en desuso. Se recomienda usar DirectXMath en su lugar.
Ajusta el valor de saturación de un color.
Sintaxis
D3DXCOLOR* D3DXColorAdjustSaturation(
_In_ D3DXCOLOR *pOut,
_In_ const D3DXCOLOR *pC,
_In_ FLOAT s
);
Parámetros
-
pOut [in]
-
Tipo: D3DXCOLOR*
Puntero a un D3DXCOLOR que es el resultado de la operación.
-
pC [in]
-
Tipo: const D3DXCOLOR*
Puntero a una estructura D3DXCOLOR de origen.
-
s [in]
-
Tipo: FLOAT
Valor de saturación. Este parámetro interpola linealmente entre el color convertido en escala de grises y el color original, pC. No hay límites en el valor de s. Si s es 0, el color devuelto es el color de escala de grises. Si s es 1, el color devuelto es el color original.
Valor devuelto
Tipo: D3DXCOLOR*
Esta función devuelve un puntero a una estructura D3DXCOLOR que es el resultado del ajuste de saturación.
Comentarios
El canal alfa de entrada se copia, sin modificar, en el canal alfa de salida.
El valor devuelto de esta función es el mismo valor devuelto en el parámetro pOut. De esta manera, esta función se puede usar como parámetro para otra función.
Esta función interpola los componentes de color rojo, verde y azul de una estructura D3DXCOLOR entre un color insaturado y un color, como se muestra en el ejemplo siguiente.
//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);
Si s es mayor que 0 y menor que 1, se reduce la saturación. Si s es mayor que 1, se aumenta la saturación.
El color de escala de grises se calcula como:
r = g = b = 0.2125*r + 0.7154*g + 0.0721*b;
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también