Effet de flou directionnel
L’effet de flou directionnel est similaire au flou gaussien, sauf que vous pouvez biaiser le flou dans une direction particulière. Vous pouvez utiliser cet effet pour donner à une image un aspect en mouvement ou pour mettre en évidence une image animée.
Le CLSID de cet effet est CLSID_D2D1DirectionalBlur.
- Exemple d’image
- Propriétés d’effet
- Modes d’optimisation
- Modes de bordure
- Bitmap de sortie
- Configuration requise
- Rubriques connexes
Exemple d’image
Avant |
---|
After |
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 d’affichage et énumération d’index | Description |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
Quantité de flou à appliquer à l’image. Vous pouvez calculer le rayon de flou du noyau en multipliant l’écart-type par 3. Les unités de l’écart-type et du rayon de flou sont des DIPs. La valeur 0 DIPs 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 des aiguilles d’une montre. Les unités sont spécifiées en degrés. Le noyau de flou est d’abord généré à l’aide du même processus que pour l’effet de flou gaussien . Les valeurs du noyau sont ensuite transformées en fonction de l’angle de 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, soft ou hard. Pour plus d’informations, consultez Modes de 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 à des rayons relativement petits. 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 de grands rayons de flou, où les approximations sont moins susceptibles d’être visibles. Utilise le filtrage triligne. |
Modes de bordure
Nom | Description |
---|---|
D2D1_BORDER_MODE_SOFT | L’effet padpe l’image avec des pixels noirs transparents quand il applique le noyau de flou, ce qui entraîne un bord souple. |
D2D1_BORDER_MODE_HARD | L’effet attache 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 l’image bitmap de sortie augmente en fonction de l’écart type, de l’angle de l’effet et du mode bordure. Si le mode de bordure est défini sur D2D1_BORDER_MODE_SOFT la taille de l’image bitmap de sortie augmente de la taille du noyau de flou, représentée en pixels. Ces équations peuvent être utilisées pour calculer la taille de l’image bitmap de sortie.
Condition requise | Valeur |
---|---|
Croissance bitmap de sortie X | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * cos(Angle)) |
Croissance de la bitmap de sortie Y | StandardDeviation (DIPs) * 6 * ((User DPI) / 96) * sin(Angle)) |
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications du Windows Store] |
Serveur minimal 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 |