Partager via


Fonction SHGetInverseCMAP (shlwapi.h)

[Cette fonction est disponible via Windows XP et Windows Server 2003. Il peut être modifié ou indisponible dans les versions ultérieures de Windows.]

Récupère le mappage de table de couleurs inverses pour la palette de demi-tons.

Syntaxe

LWSTDAPI SHGetInverseCMAP(
  [out] BYTE  *pbMap,
  [in]  ULONG cbMap
);

Paramètres

[out] pbMap

Type : BYTE*

Pointeur vers un tableau de s BYTEqui reçoit le mappage de table de couleurs inverses, ou pointeur vers un LPBYTE qui reçoit un pointeur vers une copie mise en cache du mappage de table de couleurs inverses, en fonction de la valeur du paramètre cbMap .

[in] cbMap

Type : ULONG

Taille de la mémoire tampon pointée vers pbMap, qui définit également son contenu. Deux valeurs sont reconnues.

(sizeof(BYTE*))

La mémoire tampon pointée vers pbMap reçoit un pointeur vers une copie mise en cache de la table de mappage de couleurs inverses.

(32768)

La mémoire tampon pointée vers pbMap reçoit une copie de la table de mappage de couleurs inverses. La mémoire tampon doit avoir une taille exacte de 32 768 octets.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

La table de mappage de couleurs inverses est une table de 32 768 octets. Il contient les index de couleurs dans la palette de demi-tons. Chaque index est stocké à une position dans la mémoire tampon qui correspond à une valeur RVB particulière exprimée au format 555. Ces paires vous permettent de trouver une couleur dans la palette de demi-tons qui est une approximation proche de la couleur d’origine.

Par exemple, la méthode permettant de déterminer une couleur dans la palette de demi-tons qui est une approximation proche de la couleur #306040 est la suivante :

  1. Décomposez la couleur en ses composants rouge, vert et bleu. Dans ce cas, le composant rouge est 0x30, le composant vert est 0x60 et le composant bleu est 0x40.
  2. Réassemblez la couleur au format 555. La formule permettant de réduire une couleur RVB 24 bits au format 555 s’affiche ici.
    ((red / 8) << 10) + ((blue / 8) << 5) + (green / 8)
    

    Dans cet exemple, la valeur au format 555 est ((0x30/8) << 10) + ((0x60/8) << 5) + (0x40/8) = 6536.

  3. La valeur d’index stockée à la position 6536 dans la table de mappage de couleurs inverses est l’index de la couleur dans la palette de demi-tons, qui est une approximation raisonnable de la couleur #306040.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlwapi.h
Bibliothèque Shlwapi.lib
DLL Shlwapi.dll (version 5.0 ou ultérieure)

Voir aussi

CreateHalftonePalette

GetNearestColor