Compartilhar via


Efeito de rotação de matiz

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 o efeito de matriz de cores 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
FLOAT
0.0f
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.

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 com suporte mínimo 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

ID2D1Efeito