Freigeben über


Effekt der Farbtonzweifingerdrehung

Verwenden Sie den Farbtondreheffekt, um den Farbton eines Bilds zu ändern, indem Sie eine Farbmatrix basierend auf dem Drehwinkel anwenden.

Die CLSID für diesen Effekt ist CLSID_D2D1HueRotation.

Beispielbild

Das folgende Beispiel zeigt die Eingabe- und Ausgabebilder des Farbtondreheffekts mit einem Drehwinkel von 270 Grad.

Vorher
das Bild vor dem Effekt.
After
das Bild nach der 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();

Der Effekt berechnet eine Farbmatrix basierend auf dem Drehwinkel (?), den Sie mit der D2D1_HUEROTATION_PROP_ANGLE-Eigenschaft angeben. Dies sind die Matrixgleichungen.

Farbtondrehungsberechnungen

Die erstellte Matrix hängt nur vom Drehwinkel ab. Sie können den Farbmatrix-Effekt verwenden, wenn Sie eine bestimmte Matrix benötigen.

Effekteigenschaften

Anzeigename und Indexenumeration Standardwert für Typ Beschreibung
Winkel
D2D1_HUEROTATION_PROP_ANGLE
FLOAT
0.0f
Der Drehwinkel des Farbtons in Grad.

Ausgabebitmap

Die Größe der Ausgabebitmap entspricht der Größe der Eingabebitmap.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Unterstützte Mindestversion (Server) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Header d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect