Partager via


Effet de saturation

Utilisez cet effet pour modifier la saturation d’une image. L’effet de saturation est une spécialisation de la matrice de couleur effet.

Le CLSID pour cet effet est CLSID_D2D1Saturation.

Exemple d’image

L’exemple ci-dessous montre les images d’entrée et de sortie de l’effet de saturation avec une saturation de 0%.

Avant
l’image avant l’effet.
Après
l’image après la transformation.
ComPtr<ID2D1Effect> saturationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Saturation, &saturationEffect);

saturationEffect->SetInput(0, bitmap);

saturationEffect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(saturationEffect.Get());
m_d2dContext->EndDraw();

L’effet calcule une matrice de couleur en fonction de la valeur de saturation (s dans l’équation ici) que vous spécifiez avec la propriété D2D1_SATURATION_PROP_SATURATION. L’équation de matrice est illustrée ici.

formule pour calculer une matrice de saturation.

La matrice créée dépend uniquement de la valeur de saturation. Vous pouvez utiliser la matrice de couleur effet si vous avez besoin d’une matrice spécifique.

Cet effet consomme et génère des images alpha prémultipliées. L’effet ne fonctionnera pas sur des images alpha droites, sauf si elles sont entièrement opaques.

Propriétés d’effet

Nom complet et énumération d’index Type et valeur par défaut Description
Saturation
D2D1_SATURATION_PROP_SATURATION
FLOTTER
0,5f
Saturation de l’image. Vous pouvez définir la saturation sur une valeur comprise entre 0 et 1. Si vous la définissez sur 1, l’image de sortie est entièrement saturée. Si vous la définissez sur 0, l’image de sortie est monochrome. La valeur de saturation est sans unité.

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

ID2D1Effect