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

La méthode ImageAttributes::GetAdjustedPalette ajuste les couleurs d’une palette en fonction des paramètres d’ajustement d’une catégorie spécifiée.

Syntaxe

Status GetAdjustedPalette(
  [in, out] ColorPalette    *colorPalette,
  [in]      ColorAdjustType colorAdjustType
);

Paramètres

[in, out] colorPalette

Type : ColorPalette*

Pointeur vers une structure ColorPalette qui, en entrée, contient la palette à ajuster et, en sortie, reçoit la palette ajustée.

[in] colorAdjustType

Type : ColorPalette

Élément de l’énumération ColorAdjustType qui spécifie la catégorie dont les paramètres d’ajustement seront appliqués à la palette.

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

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 une table de remappage de couleurs pour la catégorie par défaut, une table de remappage de couleurs différente pour la catégorie bitmap et une table de remappage de couleurs différente pour la catégorie de stylet.

Lorsque vous appelez ImageAttributes::GetAdjustedPalette, vous pouvez spécifier la catégorie d’ajustement utilisée pour ajuster les couleurs de la palette. Par exemple, si vous passez ColorAdjustTypeBitmap à la méthode ImageAttributes::GetAdjustedPalette , les paramètres d’ajustement de la catégorie bitmap sont utilisés pour ajuster les couleurs de la palette.

Exemples

L’exemple suivant initialise une structure ColorPalette avec quatre couleurs : aqua, noir, rouge et vert. Le code crée également un objet ImageAttributes et définit sa table de remappage bitmap afin que le vert soit converti en bleu. Ensuite, le code ajuste les couleurs de la palette en passant l’adresse de la palette à la méthode ImageAttributes::GetAdjustedPalette de l’objet ImageAttributes . Le code affiche les quatre couleurs de palette deux fois : une fois avant l’ajustement et une fois après l’ajustement.


VOID Example_GetAdjustedPalette(HDC hdc)
{
   Graphics graphics(hdc);
   INT j;

   // Create a palette that has four entries.
   ColorPalette* palette = 
      (ColorPalette*)malloc(sizeof(ColorPalette) + 3 * sizeof(ARGB));
   palette->Flags = 0;
   palette->Count = 4;

   palette->Entries[0] = 0xFF00FFFF;   // aqua
   palette->Entries[1] = 0xFF000000;   // black
   palette->Entries[2] = 0xFFFF0000;   // red
   palette->Entries[3] = 0xFF00FF00;   // green
  
   // Display the four palette colors with no adjustment.
   SolidBrush brush(Color());
   for(j = 0; j < 4; ++j)
   {
      brush.SetColor(palette->Entries[j]);
      graphics.FillRectangle(&brush, 30*j, 0, 20, 20);
   }

   // Create a remap table that converts green to blue.
   ColorMap map;
      map.oldColor = Color(255, 0, 255, 0);  // green
      map.newColor = Color(255, 0, 0, 255);  // blue

   // Create an ImageAttributes object, and set its bitmap remap table.
   ImageAttributes imAtt;
   imAtt.SetRemapTable(1, &map, ColorAdjustTypeBitmap);

   // Adjust the palette.
   imAtt.GetAdjustedPalette(palette, ColorAdjustTypeBitmap);

   // Display the four palette colors after the adjustment.
   for(j = 0; j < 4; ++j)
   {
      brush.SetColor(palette->Entries[j]);
      graphics.FillRectangle(&brush, 30*j, 30, 20, 20);
   }
}
				

L’illustration suivante montre la sortie du code précédent. Notez que le vert dans la palette d’origine a été remplacé par le bleu.

Illustration avec deux lignes de rectangles colorés ; dont le dernier est vert dans la ligne 1, bleu dans la ligne 2

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

ColorPalette

Image

ImageAttributes

Metafile

PaletteFlags

Recolorisation