Partager via


Méthode ImageAttributes ::SetColorKey (gdiplusimageattributes.h)

La méthode ImageAttributes ::SetColorKey définit la clé de couleur (plage de transparence) pour une catégorie spécifiée.

Syntaxe

Status SetColorKey(
  [in, ref]      const Color &   colorLow,
  [in, ref]      const Color &   colorHigh,
  [in, optional] ColorAdjustType type
);

Paramètres

[in, ref] colorLow

Type : couleur const

Référence à un objet Color qui spécifie la valeur de clé de couleur basse.

[in, ref] colorHigh

Type : couleur const

Référence à un objet Color qui spécifie la valeur de clé de couleur élevée.

[in, optional] type

Type : ColorAdjustType

Élément de l’énumération ColorAdjustType qui spécifie la catégorie pour laquelle la clé de couleur est définie. 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 .

Remarques

Cette méthode définit les valeurs de touche de couleur haute et basse afin qu’une gamme de couleurs puisse être rendue transparente. Toute couleur qui a chacun de ses trois composants (rouge, vert, bleu) entre les composants correspondants des touches de couleur haute et basse est rendue transparente.

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 une clé de couleur pour la catégorie par défaut, une autre clé de couleur pour la catégorie bitmap et une autre clé de couleur 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 la clé de couleur pour la catégorie de stylet en passant ColorAdjustTypePen à la méthode ImageAttributes ::SetColorKey , aucun des paramètres d’ajustement par défaut ne s’applique aux stylets.

Exemples

L’exemple suivant crée un objet Image à partir d’un fichier .bmp. Le code crée également un objet ImageAttributes . L’appel à ImageAttributes ::SetColorKey définit la clé de couleur bitmap de l’objet ImageAttributes afin que toute couleur qui remplit les trois conditions suivantes soit transparente :

  • Le composant rouge se situe entre 100 et 250.
  • Le composant vert se situe entre 95 et 245.
  • Le composant bleu se situe entre 30 et 60.

VOID Example_SetColorKey(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a BMP file.
   // The image has three horizontal stripes.
   // The color of the top stripe has RGB components (90, 90, 20).
   // The color of the middle stripe has RGB components (150, 150, 150).
   // The color of the bottom stripe has RGB components (130, 130, 40).
   Image image(L"ColorKeyTest.bmp");

   // Create an ImageAttributes object, and set its color key.
   ImageAttributes imAtt;
   imAtt.SetColorKey(
      Color(100, 95, 30),
      Color(250, 245, 60),
      ColorAdjustTypeBitmap);

   // Draw the image. Apply the color key.
   // The bottom stripe of the image will be transparent because
   // 100 <= 130 <= 250 and
   // 95  <= 130 <= 245 and
   // 30  <= 40  <= 60.
   graphics.DrawImage(
      &image, 
      Rect(20, 20, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt);
}
				

Configuration requise

Condition requise Valeur
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 ::SetThreshold

Metafile

Recolorisation