Sättigungseffekt

Verwenden Sie diesen Effekt, um die Sättigung eines Bilds zu ändern. Der Sättigungseffekt ist eine Spezialisierung des Farbmatrixeffekts .

Die CLSID für diesen Effekt ist CLSID_D2D1Saturation.

Beispielbild

Das hier gezeigte Beispiel zeigt die Eingabe- und Ausgabebilder des Sättigungseffekts mit einer Sättigung von 0 %.

Vorher
das Bild vor dem Effekt.
Nach
das Bild nach der Transformation.
ComPtr<ID2D1Effect> saturationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Saturation, &saturationEffect);

saturationEffect->SetInput(0, bitmap);

saturationEffect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(saturationEffect.Get());
m_d2dContext->EndDraw();

Der Effekt berechnet eine Farbmatrix basierend auf dem Sättigungswert (s in der Gleichung hier), den Sie mit der D2D1_SATURATION_PROP_SATURATION-Eigenschaft angeben. Die Matrixgleichung ist hier dargestellt.

Formel zum Berechnen einer Sättigungsmatrix.

Die erstellte Matrix hängt nur vom Sättigungswert ab. Sie können den Farbmatrixeffekt verwenden, wenn Sie eine bestimmte Matrix benötigen.

Dieser Effekt nutzt und gibt vormultiplizierte Alphabilder aus. Der Effekt funktioniert nicht auf geraden Alphabildern, es sei denn, sie sind vollständig undurchsichtig.

Effekteigenschaften

Anzeigename und Indexaufzählung Typ und Standardwert Beschreibung
Sättigung
D2D1_SATURATION_PROP_SATURATION
GLEITKOMMAZAHL
0,5f
Die Sättigung des Bilds. Sie können die Sättigung auf einen Wert zwischen 0 und 1 festlegen. Wenn Sie es auf 1 festlegen, ist das Ausgabebild vollständig gesättigt. Wenn Sie es auf 0 festlegen, ist das Ausgabebild monochrom. Der Sättigungswert ist einheitslos.

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