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