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.

Illustration montrant un rectangle avec des régions marron et verte, puis le même rectangle mais rendu en rouge et noir

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

Bitmap

Color

ColorAdjustType

Image

ImageAttributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetColorKey

Metafile

Recolorisation