GdipSetImageAttributesRemapTable()



Syntaxe
Resultat.i = GdipSetImageAttributesRemapTable(*imageattr, type.i, enableFlag.i, mapSize.i, *map.ColorMapGdiplus)
Paramètres
*imageattr

[in] Pointeur sur un objet ImageAttributes.

type.i

[in] Elément de l'énumération ColorAdjustType qui indique la catégorie pour laquelle la table de remappage est appliquée.

enableFlag.i

[in] Valeur booléenne. Si enableFlag vaut #True, le remappage est appliqué, sinon il ne l'est pas.

mapSize.i

[in] Nombre entier qui indique le nombre d'éléments du tableau de mappage (*map.ColorMapGdiplus).

*map.ColorMapGdiplus

[in] Pointeur sur un tableau de type ColorMapGdiplus (= ColorMap) qui définie le mappage des couleurs.

Description

Cette fonction permet d'appliquer la table de remappage des couleurs pour la catégorie spécifiée.

Une table de remappage des couleurs est un tableau de variables ColorMapGdiplus. La structure ColorMapGdiplus est équivaelnte à ColorMap sauf pour le nom des éléments.
Chaque structure ColorMapGdiplus possède deux couleurs. La première spécifie l'ancienne couleur et le second la nouvelle couleur correspondante. Pendant le rendu, toute couleur qui correspond à l'une des anciennes couleurs dans la table de remappage est remplacée par la nouvelle couleur correspondante.

Un objet ImageAttributes conserve les paramètres de réglage des couleurs et des nuances de gris pour cinq catégories de réglages : par défaut, bitmap, brush, pen et text.

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 de réglage propres. Par exemple, si vous ne spécifiez jamais de paramètres de réglage pour la catégorie pen, les paramètres par défaut s'appliquent à cette catégorie. 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 de réglage par défaut ne s'appliquent plus à cette catégorie. Par exemple, supposons que vous spécifiez un ensemble de paramètres de réglage pour la catégorie par défaut. Si vous définissez la table de remappage des couleurs de la catégorie pen en passant #ColorAdjustTypePen à la fonction GdipSetImageAttributesRemapTable(), aucun des paramètres de réglage par défaut ne s'appliquera aux pen.

Le premier exemple initialise une variable ColorPalette avec quatre couleurs : aqua, noir, rouge, et vert. Un objet ImageAttributes est créé et on redéfinit sa table de couleur bitmap pour que le noir soit converti en brun chocolat et le vert en bleu. Ensuite, le code ajuste les couleurs de la palette pour pouvoir utiliser les 4 couleurs stockées dans la palette située en mémoire. Les 4 couleurs sont affichées, en haut avant modification et en-dessous après ajustement.

Le second exemple charge une image bmp et l'affiche deux fois. L'image de gauche est l'image d'origine qui ne changera pas. En cliquant sur le bouton, on redéfinit la table des couleurs bitmap pour que le blanc soit converti en rose. Contrairement au premier exemple qui utilisait la fonction GdipGetImageAttributesAdjustedPalette() pour changer les couleurs de la palette (l'affichage des couleurs se fait directement depuis les couleurs de la palette en mémoire pour le 1er exemple), celui-ci n'utilise pas cette fonction. On utilise une fonction d'affichage d'image qui affiche l'image en utilisant les attributs donc ici le remappage des couleurs pour la catégorie #ColorAdjustTypeBitmap. L'image modifiée est affichée.

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS

PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium