Partager via


Effet de rotation de teinte

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 de 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
image avant l’effet.
Après
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 des teintes

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

Propriétés de l’effet

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

Bitmap de sortie

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

Spécifications

Condition requise Value
Client minimal pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications bureautiques | applications du Windows Store]
Serveur minimal pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications bureautiques | applications du Windows Store]
En-tête d2d1effects.h
Bibliothèque d2d1.lib, dxguid.lib

ID2D1Effect