Partager via


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

Avant
image avant l’effet.
After
image après la transformation.
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

ID2D1Effect