Partager via


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

La méthode ImageAttributes::SetRemapTable définit la table de remappage des couleurs pour une catégorie spécifiée.

Syntaxe

Status SetRemapTable(
  [in]           UINT            mapSize,
  [in]           const ColorMap  *map,
  [in, optional] ColorAdjustType type
);

Paramètres

[in] mapSize

Type : UINT

INT qui spécifie le nombre d’éléments dans le tableau de carte .

[in] map

Type : const ColorMap*

Pointeur vers un tableau de structures ColorMap qui définit la carte de couleurs.

[in, optional] type

Type : ColorAdjustType

Élément de l’énumération ColorAdjustType qui spécifie la catégorie pour laquelle la table de remappage de couleurs 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 .

Notes

Une table de remappage de couleurs est un tableau de structures ColorMap . Chaque structure ColorMap a deux objets Color : l’un qui spécifie une ancienne couleur et l’autre qui spécifie une nouvelle couleur correspondante. Pendant le rendu, toute couleur qui correspond à l’une des anciennes couleurs de la table de remappage est remplacée par la nouvelle couleur correspondante.

Un objet ImageAttributes conserve les paramètres de couleur 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 remappage de couleurs pour la catégorie par défaut, une table de remappage de couleurs pour la catégorie bitmap, et toujours une table de remappage de couleurs différente 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 leurs propres paramètres d’ajustement. 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 certaine catégorie, 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 table de remappage des couleurs pour la catégorie de stylet en passant ColorAdjustTypePen à la méthode ImageAttributes::SetRemapTable , 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, puis dessine l’image. Le code crée un objet ImageAttributes et définit sa table de remappage par défaut afin que le rouge soit converti en bleu. Ensuite, le code dessine à nouveau l’image à l’aide de l’ajustement de couleur spécifié par la table de remappage.


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

   // Create an Image object based on a .bmp file.
   // The image has one red stripe and one green stripe.
   Image image(L"RedGreenStripes.bmp");

   // Create an ImageAttributes object and set its remap table.
   ImageAttributes imageAtt;
   ColorMap cMap;
   cMap.oldColor = Color(255, 255, 0, 0);  // red 
   cMap.newColor = Color(255, 0, 0, 255);  // blue
   imageAtt.SetRemapTable(12, &cMap,
      ColorAdjustTypeDefault);

   // Draw the image with no color adjustment.
   graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
 
   // Draw the image with red converted to blue.
   graphics.DrawImage(&image,
      Rect(100, 10, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imageAtt);
}
				

L’illustration suivante montre la sortie du code précédent.

Illustration montrant un rectangle avec des régions rouges et vertes, puis le même rectangle avec la région rouge remplacée par le bleu

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 (incluez Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Bitmap

Color

ColorAdjustType

Colormap

Image

ImageAttributes

ImageAttributes::ClearRemapTable

Metafile

Recolorisation