Compartilhar via


Paleta Padrão

A paleta padrão é uma matriz de valores de cores que identifica as cores que podem ser usadas com um contexto de dispositivo por padrão. o sistema associa a paleta padrão a um contexto sempre que um aplicativo cria um contexto para um dispositivo que dá suporte a paletas de cores. A paleta padrão garante que as cores estejam disponíveis para uso por um aplicativo sem nenhuma ação adicional.

A paleta padrão normalmente tem 20 entradas (cores), mas o número exato de entradas pode variar de dispositivo para dispositivo. Esse número é igual ao valor NUMCOLORS retornado pela função GetDeviceCaps . Um aplicativo pode recuperar os valores de cor para cores na paleta padrão enumerando canetas sólidas, a mesma técnica usada para descobrir as cores disponíveis em dispositivos que não são de roleta. As cores na paleta padrão dependem do dispositivo. Os dispositivos de exibição, por exemplo, geralmente usam as 16 cores padrão da tela VGA e outras 4 cores definidas pelo Windows. Os dispositivos de impressão podem usar outras cores padrão.

Ao usar a paleta padrão, os aplicativos usam valores de cor para especificar cores de caneta e texto. Se a cor solicitada não estiver na paleta, o sistema aproximará a cor usando a cor mais próxima na paleta. Se um aplicativo solicitar uma cor de pincel sólida que não esteja na paleta, o sistema simula a cor dithering com cores que estão na paleta.

Para evitar aproximações e dithering, os aplicativos também podem especificar cores de caneta, pincel e texto usando índices de paleta de cores em vez de valores de cor. Um índice de paleta de cores é um valor inteiro que identifica uma entrada de paleta específica. Os aplicativos podem usar índices de paleta de cores no lugar de valores de cor, mas devem usar a macro PALETTEINDEX para criar os índices.

Índices de paleta de cores são úteis apenas para dispositivos que dão suporte a paletas de cores. Para evitar essa dependência de dispositivo, os aplicativos que usam o mesmo código para desenhar em dispositivos de paleta e não roleta devem usar valores de cor relativos à paleta para especificar cores de caneta, pincel e texto. Esses valores são idênticos aos valores de cor, exceto ao criar pincéis sólidos. (Em dispositivos de paleta, uma cor de pincel sólida especificada por um valor de cor relativa à paleta está sujeita à aproximação de cores em vez de dithering.) Os aplicativos devem usar a macro PALETTERGB para criar valores de cor relativos à paleta.

O sistema não permite que um aplicativo altere as entradas na paleta padrão. Para usar cores diferentes daquelas na paleta padrão, um aplicativo deve criar sua própria paleta lógica e selecionar a paleta no contexto do dispositivo.