Freigeben über


Farbtondrehungseffekt

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.

Vor
das Bild vor dem Effekt.
Nach
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 (?), die 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 die Farbmatrix Effekt verwenden, wenn Sie eine bestimmte Matrix benötigen.

Effekteigenschaften

Anzeigename und Indexenumeration Typ und Standardwert Beschreibung
Winkel
D2D1_HUEROTATION_PROP_ANGLE
SCHWEBEN
0.0f
Der Winkel zum Drehen des Farbtons in Grad.

Ausgabebitmap

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

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Mindestens unterstützter Server Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | Windows Store-Apps]
Kopfball d2d1effects.h
Bibliothek d2d1.lib, dxguid.lib

ID2D1Effect-