Fonction EngCreatePalette (winddi.h)

La fonction EngCreatePalette envoie une demande à GDI pour créer une palette RVB.

Syntaxe

ENGAPI HPALETTE EngCreatePalette(
  [in] ULONG iMode,
  [in] ULONG cColors,
  [in] ULONG *pulColors,
  [in] FLONG flRed,
  [in] FLONG flGreen,
  [in] FLONG flBlue
);

Paramètres

[in] iMode

Spécifie la façon dont la palette sera définie. Ce paramètre peut être l’une des valeurs suivantes :

Valeur Signification
PAL_BITFIELDS La palette est définie par les paramètres flRed, flGreen et flBlue .
PAL_BGR L’appareil accepte directement les couleurs RVB, avec B (bleu) comme octet le moins significatif.
PAL_CMYK L’appareil accepte directement les couleurs CMJN, avec C (cyan) comme octet le moins significatif.
PAL_INDEXED Un tableau de couleurs RVB est fourni avec cColors et pulColors.
PAL_RGB L’appareil accepte directement les couleurs RVB, avec R (rouge) comme octet le moins significatif.

[in] cColors

Si le paramètre iMode est PAL_INDEXED, cColors spécifie le nombre de couleurs fournies dans le tableau pointé par pulColors. Sinon, ce paramètre doit être égal à zéro.

[in] pulColors

Pointeur vers le début d’un tableau de valeurs ULONG si iMode est PAL_INDEXED. Les 3 octets de faible ordre de chaque ULONG définissent les couleurs RVB dans la palette.

[in] flRed

Si le paramètre iMode est PAL_BITFIELDS, les paramètres flRed, flGreen et flBlue sont des masques qui indiquent les bits correspondant au rouge, au vert et au bleu. Chaque masque doit se composer de bits contigus et ne doit pas chevaucher d’autres masques. Toutes les combinaisons de champs de bits sont prises en charge par GDI.

[in] flGreen

Si le paramètre iMode est PAL_BITFIELDS, les paramètres flRed, flGreen et flBlue sont des masques qui indiquent les bits correspondant au rouge, au vert et au bleu. Chaque masque doit se composer de bits contigus et ne doit pas chevaucher d’autres masques. Toutes les combinaisons de champs de bits sont prises en charge par GDI.

[in] flBlue

Si le paramètre iMode est PAL_BITFIELDS, les paramètres flRed, flGreen et flBlue sont des masques qui indiquent les bits correspondant au rouge, au vert et au bleu. Chaque masque doit se composer de bits contigus et ne doit pas chevaucher d’autres masques. Toutes les combinaisons de champs de bits sont prises en charge par GDI.

Valeur retournée

La valeur de retour est un handle de la nouvelle palette si la fonction réussit. Sinon, il est égal à zéro et un code d’erreur est journalisé.

Remarques

Le pilote peut associer la nouvelle palette à un appareil en retournant un pointeur vers la palette dans la structure DEVINFO .

Une palette de PAL_INDEXED associée à l’appareil doit avoir sa première entrée d’index définie sur noir (rouge = 0, vert = 0, bleu = 0) et sa dernière entrée définie sur blanc (255, 255, 255). Toutes les autres entrées doivent être définies de sorte que les entrées dont les index sont des compléments les uns des autres aient des couleurs qui contrastent considérablement. Par exemple, si l’entrée 0x9 d’une palette de 16 entrées est définie sur le vert pur (0,255,0), l’entrée 0x6 (=~0x9) doit être définie sur une couleur qui contraste bien avec le vert, comme le violet foncé (128,0,128). La définition des entrées de cette façon permet aux opérations raster XOR de se comporter de manière raisonnable. Vous devez supprimer la palette lorsque vous n’en avez plus besoin à l’aide de EngDeletePalette.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

DEVINFO

DrvSetPalette

EngDeletePalette