Efeito de saturação

Use esse efeito para alterar a saturação de uma imagem. O efeito de saturação é uma especialização do efeito de matriz de cores .

O CLSID para esse efeito é CLSID_D2D1Saturation.

Imagem de exemplo

O exemplo aqui mostra as imagens de entrada e saída do efeito de saturação com uma saturação de 0%.

Antes
a imagem antes do efeito.
After (após)
a imagem após a transformação.
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();

O efeito calcula uma matriz de cores com base no valor de saturação (s na equação aqui) que você especifica com a propriedade D2D1_SATURATION_PROP_SATURATION. A equação de matriz é mostrada aqui.

fórmula para calcular uma matriz de saturação.

A matriz criada depende apenas do valor de saturação. Você pode usar o efeito de matriz de cores se precisar de uma matriz específica.

Esse efeito consome e gera imagens alfa pré-multiplicadas. O efeito não funcionará em imagens alfa retas, a menos que elas sejam totalmente opacas.

Propriedades de efeito

Nome de exibição e enumeração de índice Tipo e valor padrão Descrição
Saturação
D2D1_SATURATION_PROP_SATURATION
FLOAT
0,5f
A saturação da imagem. Você pode definir a saturação para um valor entre 0 e 1. Se você defini-la como 1, a imagem de saída estará totalmente saturada. Se você defini-la como 0, a imagem de saída será monocromática. O valor de saturação é sem unidade.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Servidor mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect