Palette par défaut
La palette par défaut est un tableau de valeurs de couleur identifiant les couleurs qui peuvent être utilisées avec un contexte d’appareil par défaut. le système associe la palette par défaut à un contexte chaque fois qu’une application crée un contexte pour un appareil qui prend en charge les palettes de couleurs. La palette par défaut garantit que les couleurs sont disponibles pour une utilisation par une application sans aucune action supplémentaire.
La palette par défaut comporte généralement 20 entrées (couleurs), mais le nombre exact d’entrées peut varier d’un appareil à l’autre. Ce nombre est égal à la valeur NUMCOLORS retournée par la fonction GetDeviceCaps . Une application peut récupérer les valeurs de couleur des couleurs dans la palette par défaut en énumérant les stylets uni, la même technique que celle utilisée pour découvrir les couleurs disponibles sur les appareils non-palettes. Les couleurs de la palette par défaut dépendent de l’appareil. Par exemple, les appareils d’affichage utilisent souvent les 16 couleurs standard de l’affichage VGA et 4 autres couleurs définies par Windows. Les appareils d’impression peuvent utiliser d’autres couleurs par défaut.
Lors de l’utilisation de la palette par défaut, les applications utilisent des valeurs de couleur pour spécifier les couleurs du stylet et du texte. Si la couleur demandée ne figure pas dans la palette, le système se rapproche de la couleur en utilisant la couleur la plus proche de la palette. Si une application demande une couleur de pinceau unie qui n’est pas dans la palette, le système simule la couleur en mettant en dither avec les couleurs qui se trouvent dans la palette.
Pour éviter les approximations et les tergiversations, les applications peuvent également spécifier des couleurs de stylet, de pinceau et de texte en utilisant des index de palette de couleurs plutôt que des valeurs de couleur. Un index de palette de couleurs est une valeur entière qui identifie une entrée de palette spécifique. Les applications peuvent utiliser des index de palette de couleurs à la place de valeurs de couleur, mais elles doivent utiliser la macro PALETTEINDEX pour créer les index.
Les index de palette de couleurs ne sont utiles que pour les appareils qui prennent en charge les palettes de couleurs. Pour éviter cette dépendance d’appareil, les applications qui utilisent le même code pour dessiner à la fois sur les appareils de palette et non-palette doivent utiliser des valeurs de couleur relatives à la palette pour spécifier les couleurs du stylet, du pinceau et du texte. Ces valeurs sont identiques aux valeurs de couleur, sauf lors de la création de pinceaux uni. (Sur les appareils de palette, une couleur de pinceau unie spécifiée par une valeur de couleur relative à la palette est sujette à l’approximation de couleur au lieu d’être tergiversée.) Les applications doivent utiliser la macro PALETTERGB pour créer des valeurs de couleur relatives à la palette.
Le système n’autorise pas une application à modifier les entrées dans la palette par défaut. Pour utiliser des couleurs autres que celles de la palette par défaut, une application doit créer sa propre palette logique et sélectionner la palette dans le contexte de l’appareil.