Partager via


Effet de rotation hue

Utilisez l’effet de rotation de teinte pour modifier la teinte d’une image en appliquant une matrice de couleur en fonction de l’angle de rotation.

Le CLSID pour cet effet est CLSID_D2D1HueRotation.

Exemple d’image

L’exemple ci-dessous montre les images d’entrée et de sortie de l’effet de rotation de teinte avec un angle de rotation de 270 degrés.

Avant
l’image avant l’effet.
Après
l’image après la transformation.
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();

L’effet calcule une matrice de couleur en fonction de l’angle de rotation (?) que vous spécifiez avec la propriété D2D1_HUEROTATION_PROP_ANGLE. Voici les équations de matrice.

calculs de rotation de teintes

La matrice créée dépend uniquement de l’angle de rotation. Vous pouvez utiliser la matrice de couleur effet si vous avez besoin d’une matrice spécifique.

Propriétés d’effet

Nom complet et énumération d’index Type et valeur par défaut Description
Angle
D2D1_HUEROTATION_PROP_ANGLE
FLOTTER
0.0f
Angle de rotation de la teinte, en degrés.

Bitmap de sortie

La taille bitmap de sortie est identique à la taille bitmap d’entrée.

Exigences

Exigence Valeur
Client minimum pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications du Windows Store]
Serveur minimum pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications du Windows Store]
En-tête d2d1effects.h
Bibliothèque d2d1.lib, dxguid.lib

ID2D1Effect