Effet de flou directionnel
L’effet de flou directionnel est similaire à flou gaussian, sauf que vous pouvez fausser le flou dans une direction particulière. Vous pouvez utiliser cet effet pour faire ressembler une image comme si elle est en mouvement ou pour mettre en évidence une image animée.
Le CLSID pour cet effet est CLSID_D2D1DirectionalBlur.
- Exemple d’image
- propriétés Effect
- modes d’optimisation
- modes bordure
- bitmap de sortie
- Configuration requise
- rubriques connexes
Exemple d’image
Avant |
---|
![]() |
Après |
![]() |
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();
Propriétés d’effet
Nom complet et énumération d’index | Description |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
Quantité de flou à appliquer à l’image. Vous pouvez calculer le rayon flou du noyau en multipliant l’écart type par 3. Les unités de l’écart type et du rayon de flou sont des ADRESSES IP. Une valeur de 0 ADRESSES IP désactive cet effet. Le type est FLOAT. La valeur par défaut est 3.0f. |
Angle D2D1_DIRECTIONALBLUR_PROP_ANGLE |
Angle du flou par rapport à l’axe x, dans le sens inverse. Les unités sont spécifiées en degrés. Le noyau flou est d’abord généré à l’aide du même processus que pour le flou Gaussian effet. Les valeurs du noyau sont ensuite transformées en fonction de l’angle flou. Le type est FLOAT. La valeur par défaut est 0.0f. |
Optimisation D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION |
Mode d’optimisation. Pour plus d’informations, consultez modes d’optimisation. Le type est D2D1_DIRECTIONALBLUR_OPTIMIZATION. La valeur par défaut est D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE |
Mode utilisé pour calculer la bordure de l’image, douce ou dure. Pour plus d’informations, consultez modes bordure. Le type est D2D1_BORDER_MODE. La valeur par défaut est D2D1_BORDER_MODE_SOFT. |
Modes d’optimisation
Nom | Description |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Applique des optimisations internes telles que la pré-mise à l’échelle à un rayon relativement petit. Utilise le filtrage linéaire. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Utilise les mêmes seuils d’optimisation que le mode Vitesse, mais utilise le filtrage triligne. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Utilise uniquement des optimisations internes avec des rayons flous volumineux, où les approximations sont moins susceptibles d’être visibles. Utilise le filtrage triligne. |
Modes de bordure
Nom | Description |
---|---|
D2D1_BORDER_MODE_SOFT | L’effet place l’image en pixels noirs transparents, car elle applique le noyau flou, ce qui entraîne un bord doux. |
D2D1_BORDER_MODE_HARD | L’effet bloque la sortie à la taille de l’image d’entrée. Lorsque l’effet applique le noyau flou, il étend l’image d’entrée avec une transformation de bordure de type miroir pour les exemples en dehors des limites d’entrée. |
Bitmap de sortie
La taille de la bitmap de sortie augmente en fonction de l’écart type, de l’angle de l’effet et du mode bordure. Si le mode bordure est défini sur D2D1_BORDER_MODE_SOFT la taille de la bitmap de sortie augmente par la taille du noyau flou, représentée en pixels. Ces équations peuvent être utilisées pour calculer la taille de la bitmap de sortie.
Exigence | Valeur |
---|---|
Sortie Bitmap Growth X | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * cos(Angle)) |
Sortie bitmap croissance Y | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * sin(Angle)) |
Exigences
Exigence | Valeur |
---|---|
Client minimum pris en charge | Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications du Windows Store] |
Serveur minimum pris en charge | Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications du Windows Store] |
En-tête | d2d1effects.h |
Bibliothèque | d2d1.lib, dxguid.lib |