Compartir a través de


Paleta predeterminada

El paleta predeterminada es una matriz de valores de color que identifican los colores que se pueden usar con un contexto de dispositivo de forma predeterminada. el sistema asocia la paleta predeterminada a un contexto cada vez que una aplicación crea un contexto para un dispositivo que admite paletas de colores. La paleta predeterminada garantiza que los colores estén disponibles para su uso por parte de una aplicación sin ninguna acción adicional.

La paleta predeterminada suele tener 20 entradas (colores), pero el número exacto de entradas puede variar de dispositivo a dispositivo. Este número es igual al valor NUMCOLORS devuelto por la función GetDeviceCaps. Una aplicación puede recuperar los valores de color de los colores de la paleta predeterminada mediante la enumeración de lápices sólidos, la misma técnica que se usa para detectar los colores disponibles en dispositivos que no son de palette. Los colores de la paleta predeterminada dependen del dispositivo. Los dispositivos de visualización, por ejemplo, suelen usar los 16 colores estándar de la pantalla VGA y 4 otros colores definidos por Windows. Los dispositivos de impresión pueden usar otros colores predeterminados.

Al usar la paleta predeterminada, las aplicaciones usan valores de color para especificar colores de lápiz y texto. Si el color solicitado no está en la paleta, el sistema aproxima el color mediante el color más cercano de la paleta. Si una aplicación solicita un color de pincel sólido que no está en la paleta, el sistema simula el color dithering con colores que se encuentran en la paleta.

Para evitar aproximaciones y dithering, las aplicaciones también pueden especificar lápiz, pincel y colores de texto mediante índices de paleta de colores en lugar de valores de color. Un índice de paleta de colores es un valor entero que identifica una entrada de paleta específica. Las aplicaciones pueden usar índices de paleta de colores en lugar de valores de color, pero deben usar la macro PALETTEINDEX para crear los índices.

Los índices de paleta de colores solo son útiles para dispositivos que admiten paletas de colores. Para evitar esta dependencia de dispositivos, las aplicaciones que usan el mismo código para dibujar en dispositivos de paleta y nopalette deben usar valores de color relativos a la paleta para especificar los colores de lápiz, pincel y texto. Estos valores son idénticos a los valores de color, excepto al crear pinceles sólidos. (En los dispositivos de paleta, un color de pincel sólido especificado por un valor de color relativo a la paleta está sujeto a aproximación de color en lugar de dithering). Las aplicaciones deben usar la macro PALETTERGB para crear valores de color relativos a la paleta.

El sistema no permite que una aplicación cambie las entradas de la paleta predeterminada. Para usar colores distintos de los de la paleta predeterminada, una aplicación debe crear su propia paleta lógica y seleccionar la paleta en el contexto del dispositivo.