ImageAttributes::SetThreshold, méthode (gdiplusimageattributes.h)
La méthode ImageAttributes::SetThreshold définit le seuil (plage de transparence) pour une catégorie spécifiée.
Syntaxe
Status SetThreshold(
[in] REAL threshold,
[in, optional] ColorAdjustType type
);
Paramètres
[in] threshold
Type : REAL
NOMBRE RÉEL qui spécifie la valeur de seuil.
[in, optional] type
Type : ColorAdjustType
Élément de l’énumération ColorAdjustType qui spécifie la catégorie pour laquelle le seuil de couleur est défini. La valeur par défaut est ColorAdjustTypeDefault.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Le seuil est une valeur comprise entre 0 et 1 qui spécifie un point de coupure pour chaque composant de couleur. Par exemple, supposons que le seuil est défini sur 0,7 et que vous affichez une couleur dont les composants rouge, vert et bleu sont 230, 50 et 220. Le composant rouge, 230, étant supérieur à 0,7×255, le composant rouge sera remplacé par 255 (pleine intensité). Le composant vert, 50, étant inférieur à 0,7×255, le composant vert sera remplacé par 0. Le composant bleu, 220, étant supérieur à 0,7×255, le composant bleu sera remplacé par 255.
Un objet ImageAttributes conserve les paramètres de couleurs et de nuances de gris pour cinq catégories d’ajustement : par défaut, bitmap, pinceau, stylet et texte. Par exemple, vous pouvez spécifier un seuil pour la catégorie par défaut, un seuil pour la catégorie bitmap et un seuil différent pour la catégorie de stylet.
Les paramètres de réglage des couleurs et des nuances de gris par défaut s’appliquent à toutes les catégories qui n’ont pas de paramètres d’ajustement propres. Par exemple, si vous ne spécifiez jamais de paramètres d’ajustement pour la catégorie de stylet, les paramètres par défaut s’appliquent à la catégorie de stylet.
Dès que vous spécifiez un paramètre de réglage des couleurs ou des nuances de gris pour une catégorie donnée, les paramètres d’ajustement par défaut ne s’appliquent plus à cette catégorie. Par exemple, supposons que vous spécifiez une collection de paramètres d’ajustement pour la catégorie par défaut. Si vous définissez le seuil de la catégorie de stylet en passant ColorAdjustTypePen à la méthode ImageAttributes::SetThreshold , aucun des paramètres d’ajustement par défaut ne s’applique aux stylets.
Exemples
L’exemple suivant crée un objet Image basé sur un fichier .bmp. Le code crée également un objet ImageAttributes et définit sa valeur de seuil bitmap sur 0,6. Ensuite, le code dessine l’image deux fois : une fois sans réglage de couleur et une fois avec l’ajustement spécifié par le seuil.
VOID Example_SetThreshold(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a .bmp file.
// The image has one stripe with RGB components (160, 0, 0)
// and one stripe with RGB components (0, 140, 0).
Image image(L"RedGreenThreshold.bmp");
// Create an ImageAttributes object, and set its bitmap threshold to 0.6.
ImageAttributes imAtt;
imAtt.SetThreshold(0.6f, ColorAdjustTypeBitmap);
// Draw the image with no color adjustment.
graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
// Draw the image with the threshold applied.
// 160 > 0.6*255, so the red stripe will be changed to full intensity.
// 140 < 0.6*255, so the green stripe will be changed to zero intensity.
graphics.DrawImage(&image,
Rect(100, 10, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
L’illustration suivante montre la sortie du code précédent. Notez que le rouge a été converti en intensité maximale et que le vert a été converti en intensité nulle.
Configuration requise
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusimageattributes.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |
Voir aussi
ImageAttributes::ClearColorKey