Gaußsche Unschärfe
Verwenden Sie den gaußschen Unschärfeeffekt, um eine Unschärfe basierend auf der gaußschen Funktion über das gesamte Eingabebild zu erstellen.
Sie können diesen Effekt verwenden, um Glühen und Schatten zu erstellen und den zusammengesetzten Effekt zu verwenden, um das Ergebnis auf das ursprüngliche Bild anzuwenden. Es ist nützlich in der Fotoverarbeitung für Filter wie Hervorhebungen und Schatten. Sie können die Ausgabe dieses Effekts für die Eingabe in Lichteffekte wie die Effekte "Specular Lighting " oder "Diffuse Beleuchtung " verwenden, da der Alphakanal ebenfalls verschwommen ist und Lichteffekte den Alphakanal verwenden, um die Oberflächengeometrie als Höhenkarte zu bestimmen.
Dieser Effekt wird vom integrierten Schatteneffekt verwendet.
Die CLSID für diesen Effekt ist CLSID_D2D1GaussianBlur.
- Beispielbild
- Effekteigenschaften
- Optimierungsmodi
- Rahmenmodi
- Ausgabe-Bitmap
- Anforderungen
- Zugehörige Themen
Beispielbild
Vorher |
---|
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 Indexaufzählung | BESCHREIBUNG |
---|---|
StandardDeviation (Standardabweichung) D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
Die Auf das Bild anzuwendende Unschärfe. Sie können den Unschärfenradius des Kernels berechnen, indem Sie die Standardabweichung mit 3 multiplizieren. Die Einheiten der Standardabweichung und des Unschärferadius sind DIPs. Ein Wert von null DIPs deaktiviert diesen Effekt vollständig. Der Typ ist FLOAT. Der Standardwert ist 3.0f. |
Optimization 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 die Vorskalierung bei relativ kleinen Radien an. Verwendet lineare Filterung. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Verwendet dieselben Optimierungsschwellenwerte wie der Geschwindigkeitsmodus, verwendet jedoch die trilineare Filterung. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Verwendet nur interne Optimierungen mit großen Unschärferadien, bei denen Näherungen weniger wahrscheinlich sichtbar sind. Verwendet trilineare Filterung. |
Rahmenmodi
Name | BESCHREIBUNG |
---|---|
D2D1_BORDER_MODE_SOFT | Der Effekt polstert das Bild 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 Unschärfenkern anwendet, erweitert er das Eingabebild mit einer Spiegel Rahmentransformation für Beispiele außerhalb der Eingabegrenzen. |
Ausgabe-Bitmap
Die Ausgabe dieses Effekts kann basierend auf dem Unschärfenradius und dem Rahmenmodus größer als die Eingabebitbit sein. Wenn der Rahmenmodus auf D2D1_BORDER_MODE_SOFT wird die Größe der Ausgabebitbitte um die Größe des In Pixel dargestellten Weichzeichnerkerns erhöht. Diese Tabelle enthält eine Formel, mit der Sie die Ausgabebitbitbit berechnen können.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Wenn also die Bildgröße in jede Richtung um 10 Pixel zunimmt, befindet sich die obere linke Ecke des Bilds bei (-5, -5), während sich die untere rechte Ecke bei (105, 105) befindet.
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 |