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.
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 |