Partilhar via


Efeito de rotação da tonalidade

Use o efeito de rotação de matiz para alterar a tonalidade de uma imagem aplicando uma matriz de cores com base no ângulo de rotação.

O CLSID para este efeito é CLSID_D2D1HueRotation.

Imagem de exemplo

O exemplo aqui mostra as imagens de entrada e saída do efeito de rotação de matiz com um ângulo de rotação de 270 graus.

Antes
a imagem antes do efeito.
Após
a imagem após a transformação.
ComPtr<ID2D1Effect> hueRotationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1HueRotation, &hueRotationEffect);

hueRotationEffect->SetInput(0, bitmap);
hueRotationEffect->SetValue(D2D1_HUEROTATION_PROP_ANGLE, 270.0f);

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

O efeito calcula uma matriz de cores com base no ângulo de rotação (?) especificado com a propriedade D2D1_HUEROTATION_PROP_ANGLE. Aqui estão as equações matriciais.

cálculos de rotação de matiz

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

Propriedades do efeito

Nome para exibição e enumeração de índice Tipo e valor padrão Descrição
Ângulo
D2D1_HUEROTATION_PROP_ANGLE
FLUTUAR
0,0 f
O ângulo para girar a tonalidade, em graus.

Bitmap de saída

O tamanho do bitmap de saída é o mesmo que o tamanho do bitmap de entrada.

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