Effet flou gaussien
Utilisez l’effet flou gaussien pour créer un flou basé sur la fonction Gaussian sur l’image d’entrée entière.
Vous pouvez utiliser cet effet pour créer des lumières et déposer des ombres et utiliser l’effet composite pour appliquer le résultat à l’image d’origine. Il est utile dans le traitement photo pour les filtres tels que les surbrillances et les ombres. Vous pouvez utiliser la sortie de cet effet pour l’entrée dans les effets d’éclairage, comme le éclairage spéculaire ou effets d’éclairage diffuse, car le canal alpha est flou, également et les effets d’éclairage utilisent le canal alpha pour déterminer la géométrie de la surface en tant que carte de hauteur.
Cet effet est utilisé par l’effet Shadow intégré.
Le CLSID pour cet effet est CLSID_D2D1GaussianBlur.
- 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> 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();
Propriétés d’effet
Nom complet et énumération d’index | Description |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_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 zéro DIPs désactive entièrement cet effet. Le type est FLOAT. La valeur par défaut est 3.0f. |
Optimisation D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
Mode d’optimisation. Pour plus d’informations, consultez modes d’optimisation. Le type est D2D1_GAUSSIANBLUR_OPTIMIZATION. La valeur par défaut est D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_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_GAUSSIANBLUR_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 sortie de cet effet peut être supérieure à la bitmap d’entrée en fonction du rayon flou 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. Ce tableau fournit une équation que vous pouvez utiliser pour calculer la bitmap de sortie.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Par conséquent, si la taille de l’image augmente de 10 pixels dans chaque direction, le coin supérieur gauche de l’image se trouve à (-5, -5) tandis que la partie inférieure droite est à (105, 105).
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 |