Gaussischer Weichzeichnereffekt
Verwenden Sie den gaussischen Weichzeichnereffekt, um einen Weichzeichner basierend auf der gaussischen Funktion über das gesamte Eingabebild zu erstellen.
Mit diesem Effekt können Sie Leuchteffekte und Schlagschatten erstellen und den zusammengesetzten Effekt verwenden, um das Ergebnis auf das ursprüngliche Bild anzuwenden. Es ist nützlich bei der Fotoverarbeitung für Filter wie Hervorhebungen und Schatten. Sie können die Ausgabe dieses Effekts für die Eingabe in Lichteffekte verwenden, z. B. die Glanzbeleuchtung oder diffuse Beleuchtung Effekte, da der Alphakanal ebenfalls verschwommen ist und Beleuchtungseffekte den Alphakanal verwenden, um die Oberflächengeometrie als Höhenkarte zu bestimmen.
Dieser Effekt wird vom integrierten Schatten Effekt verwendet.
Die CLSID für diesen Effekt ist CLSID_D2D1GaussianBlur.
- Beispielbild
- Effekteigenschaften
- Optimierungsmodi
- Rahmenmodi
- Ausgabebitmap-
- Anforderungen
- Verwandte Themen
Beispielbild
Vor |
---|
![]() |
Nach |
![]() |
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
Effekteigenschaften
Anzeigename und Indexenumeration | Beschreibung |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Die Menge der Weichzeichner, die auf das Bild angewendet werden soll. Sie können den Weichzeichnerradius des Kernels berechnen, indem Sie die Standardabweichung mit 3 multiplizieren. Die Einheiten der Standardabweichung und des Weichzeichnerradius sind DIPs. Ein Wert von Null-DIPs deaktiviert diesen Effekt vollständig. Der Typ ist FLOAT. Der Standardwert ist 3,0f. |
Optimierung D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Der Optimierungsmodus. Weitere Informationen finden Sie unter Optimierungsmodi. Der Typ ist D2D1_GAUSSIANBLUR_OPTIMIZATION. Der Standardwert ist D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
Der Modus, der zum Berechnen des Rahmens des Bilds verwendet wird, weich oder hart. Weitere Informationen finden Sie unter Rahmenmodi. Der Typ ist D2D1_GAUSSIANBLUR_BORDER_MODE. Der Standardwert ist D2D1_BORDER_MODE_SOFT. |
Optimierungsmodi
Name | Beschreibung |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Wendet interne Optimierungen wie z. B. die Vorskalierung bei relativ kleinen Bogenmaßen an. Verwendet lineare Filterung. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Verwendet dieselben Optimierungsschwellenwerte wie der Geschwindigkeitsmodus, verwendet aber die trilineare Filterung. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Verwendet nur interne Optimierungen mit großen Weichzeichnerradien, bei denen Annäherungen weniger wahrscheinlich sichtbar sind. Verwendet die Trilinearfilterung. |
Rahmenmodi
Name | Beschreibung |
---|---|
D2D1_BORDER_MODE_SOFT | Die Effektpads des Bilds mit transparenten schwarzen Pixeln, während er den Weichzeichnerkern anwendet, was zu einem weichen Rand führt. |
D2D1_BORDER_MODE_HARD | Der Effekt klemmt die Ausgabe an die Größe des Eingabebilds. Wenn der Effekt den Weichzeichnerkern anwendet, wird das Eingabebild mit einer Spiegelrahmentransformation für Beispiele außerhalb der Eingabegrenzen erweitert. |
Ausgabebitmap
Die Ausgabe dieses Effekts kann größer als die Eingabebitmap sein, basierend auf dem Weichzeichnerradius und dem Rahmenmodus. Wenn der Rahmenmodus auf D2D1_BORDER_MODE_SOFT die Größe der Ausgabebitmap um die Größe des Weichzeichnerkerns erhöht wird, dargestellt in Pixeln. Diese Tabelle enthält eine Formel, mit der Sie die Ausgabebitmap berechnen können.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Wenn die Bildgröße also in jeder Richtung um 10 Pixel vergrößert wird, befindet sich die obere linke Ecke des Bilds in (-5, -5), während die untere rechte Ecke (105, 105) liegt.
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 |