Compartir a través de


Efecto de saturación

Use este efecto para modificar la saturación de una imagen. El efecto de saturación es una especialización del efecto de matriz de colores .

El CLSID de este efecto es CLSID_D2D1Saturation.

Imagen de ejemplo

En el ejemplo siguiente se muestran las imágenes de entrada y salida del efecto de saturación con una saturación del 0 %.

Antes
la imagen antes del efecto.
Después
la imagen después de la transformación.
ComPtr<ID2D1Effect> saturationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Saturation, &saturationEffect);

saturationEffect->SetInput(0, bitmap);

saturationEffect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(saturationEffect.Get());
m_d2dContext->EndDraw();

El efecto calcula una matriz de colores basada en el valor de saturación (s de la ecuación aquí) que se especifica con la propiedad D2D1_SATURATION_PROP_SATURATION. La ecuación de matriz se muestra aquí.

fórmula para calcular una matriz de saturación.

La matriz creada depende solo del valor de saturación. Puede usar el efecto de matriz de color si necesita una matriz específica.

Este efecto consume y genera imágenes alfa premultipadas. El efecto no funcionará en imágenes alfa rectas a menos que sean totalmente opacos.

Propiedades de efecto

Enumeración de índice y nombre para mostrar Tipo y valor predeterminado Descripción
Saturación
D2D1_SATURATION_PROP_SATURATION
FLOAT
0.5f
Saturación de la imagen. Puede establecer la saturación en un valor entre 0 y 1. Si la establece en 1, la imagen de salida está totalmente saturada. Si la establece en 0, la imagen de salida es monocromática. El valor de saturación no tiene unidad.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Servidor mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows]
Encabezado d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect