Effet de flou gaussien
Utilisez l’effet de flou gaussien pour créer un flou basé sur la fonction gaussienne sur l’ensemble de l’image d’entrée.
Vous pouvez utiliser cet effet pour créer des lueurs et supprimer 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 l’éclairage spéculaire ou l’éclairage diffus , car le canal alpha est également flou et les effets d’éclairage utilisent le canal alpha pour déterminer la géométrie de surface comme carte de hauteur.
Cet effet est utilisé par l’effet Ombre intégré.
Le CLSID de cet effet est CLSID_D2D1GaussianBlur.
- 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> 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 d’affichage et énumération d’index | Description |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_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 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, soft ou hard. Pour plus d’informations, consultez Modes de 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 à 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 sortie de cet effet peut être supérieure à la bitmap d’entrée en fonction du rayon de flou et du mode bordure. Si le mode de bordure est défini sur D2D1_BORDER_MODE_SOFT la taille de la bitmap de sortie augmente par la taille du noyau de flou, représenté en pixels. Ce tableau fournit une équation que vous pouvez utiliser pour calculer l’image bitmap de sortie.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Ainsi, 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 l’angle inférieur droit est à (105, 105).
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 |