Direktionaler Weichzeichnereffekt
Der direktionale Weichzeichnereffekt ähnelt gaussischen Weichzeichner, es sei denn, Sie können den Weichzeichner in einer bestimmten Richtung verzerren. Sie können diesen Effekt verwenden, um ein Bild so aussehen zu lassen, als ob es in Bewegung ist oder um ein animiertes Bild hervorzuheben.
Die CLSID für diesen Effekt ist CLSID_D2D1DirectionalBlur.
- Beispielbild
- Effekteigenschaften
- Optimierungsmodi
- Rahmenmodi
- Ausgabebitmap-
- Anforderungen
- Verwandte Themen
Beispielbild
Vor |
---|
![]() |
Nach |
![]() |
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);
directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(directionalBlurEffect.Get());
m_d2dContext->EndDraw();
Effekteigenschaften
Anzeigename und Indexenumeration | Beschreibung |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_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. Dieser Effekt wird durch einen Wert von 0 DIPs deaktiviert. Der Typ ist FLOAT. Der Standardwert ist 3,0f. |
Winkel D2D1_DIRECTIONALBLUR_PROP_ANGLE |
Der Winkel des Weichzeichners relativ zur X-Achse in richtung gegen den Uhrzeigersinn. Die Einheiten werden in Grad angegeben. Der Weichzeichnerkern wird zuerst mit demselben Prozess wie für den gaussischen Weichzeichner Effekt generiert. Die Kernelwerte werden dann entsprechend dem Weichzeichnerwinkel transformiert. Der Typ ist FLOAT. Der Standardwert ist 0,0f. |
Optimierung D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION |
Der Optimierungsmodus. Weitere Informationen finden Sie unter Optimierungsmodi. Der Typ ist D2D1_DIRECTIONALBLUR_OPTIMIZATION. Der Standardwert ist D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_DIRECTIONALBLUR_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_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 Größe der Ausgabebitmap steigt basierend auf der Standardabweichung, dem Winkel des Effekts 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 Formeln können verwendet werden, um die Größe der Ausgabebitmap zu berechnen.
Anforderung | Wert |
---|---|
Ausgabebitmap-Wachstum X | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * cos(Angle)) |
Ausgabebitmap-Wachstum Y | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * sin(Angle)) |
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 |