Leuchtdichte zu Alphaeffekt

Verwenden Sie die Leuchtdichte zum Alphaeffekt, um den Alphakanal auf die Leuchtdichte des Bilds und die Farbkanäle auf 0 (0) zu setzen. Sie können die Ausgabe dieses Effekts verwenden, um eine halbtransparente Überlagerung basierend auf der Helligkeit des Eingabebilds zu erstellen. Sie können sie auch verwenden, um eine Bildmaske zu erstellen.

Hinweis

Dieser Effekt hat keine Eigenschaften.

Die CLSID für diesen Effekt ist CLSID _ D2D1LuminanceToAlpha.

Beispielbild

In diesem Beispiel wird die Ausgabe der Leuchtdichte zum Alphaeffekt gezeigt, die über einer weißen Oberfläche zusammengesetzt ist, um Deckkraft zu zeigen.

Vorher
das Bild vor dem Effekt.
Danach
das Bild nach der Transformation.
ComPtr<ID2D1Effect> luminanceToAlphaEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LuminanceToAlpha, &luminanceToAlphaEffect);

luminanceToAlphaEffect->SetInput(0, bitmap);

// LuminanceToAlpha result is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));

ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);

compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, luminanceToAlphaEffect.Get());

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

Dieser Effekt legt den Alphakanal der Ausgabe mithilfe dieser Farbmatrix auf die Leuchtdichte des Eingabebilds fest.

die Farbmatrix, die der Effekt zum Festlegen des Alphakanals verwendet.

Dieser Effekt verwendet und gibt prämultipliierte Alphabilder aus. Der Effekt funktioniert nur bei geraden Alphabildern, wenn sie vollständig deckend sind.

Hinweis

Da Bilder in einem Gammabewertungsformat gespeichert werden, sollten Sie vor der Berechnung der Leuchtdichte für ein Bild zunächst eine inverse Gammakorrektur durchführen, um die tatsächlichen Farbwerte für das Bild zu erhalten. Da Bilder normalerweise bei 2,2 Gamma gespeichert werden, können Sie den Gammaübertragungseffekt mit einem Exponenten von (1/2.2) verwenden und dann die Ausgabe dieses Effekts verwenden.

Requirements (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

Ausgabebitmap

Die Ausgabe hat die gleiche Größe wie das Eingabebild.

ID2D1Effect