Partilhar via


Efeito de saturação

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

O CLSID para este 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.
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) especificado com a propriedade D2D1_SATURATION_PROP_SATURATION. A equação matricial é mostrada aqui.

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

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

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

Propriedades do efeito

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

Requerimentos

Exigência Valor
Cliente mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Servidor mínimo suportado Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows]
Cabeçalho d2d1effects.h
Biblioteca d2d1.lib, dxguid.lib

ID2D1Effect