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
D3DX10Math.h
Biblioteca
D3DX10.lib

Consulte también

Funciones matemáticas