Compartilhar via


Função EngCreatePalette (winddi.h)

A função EngCreatePalette envia uma solicitação ao GDI para criar uma paleta RGB.

Sintaxe

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

Parâmetros

[in] iMode

Especifica como a paleta será definida. Esse parâmetro pode usar um dos valores a seguir:

Valor Significado
PAL_BITFIELDS A paleta é definida pelos parâmetros flRed, flGreen e flBlue .
PAL_BGR O dispositivo aceita cores RGB diretamente, com B (azul) como o byte menos significativo.
PAL_CMYK O dispositivo aceita cores CMYK diretamente, com C (ciano) como o byte menos significativo.
PAL_INDEXED Uma matriz de cores RGB é fornecida com cColors e pulColors.
PAL_RGB O dispositivo aceita cores RGB diretamente, com R (vermelho) como o byte menos significativo.

[in] cColors

Se o parâmetro iMode for PAL_INDEXED, cColors especificará o número de cores fornecidas na matriz apontada por pulColors. Caso contrário, esse parâmetro deverá ser zero.

[in] pulColors

Ponteiro para o início de uma matriz de valores ULONG se iMode for PAL_INDEXED. Os 3 bytes de baixa ordem de cada ULONG definem as cores RGB na paleta.

[in] flRed

Se o parâmetro iMode for PAL_BITFIELDS, os parâmetros flRed, flGreen e flBlue serão máscaras que mostram quais bits correspondem a vermelho, verde e azul. Cada máscara deve consistir em bits contíguos e não deve se sobrepor a outras máscaras. Todas as combinações de campos de bits têm suporte da GDI.

[in] flGreen

Se o parâmetro iMode for PAL_BITFIELDS, os parâmetros flRed, flGreen e flBlue serão máscaras que mostram quais bits correspondem a vermelho, verde e azul. Cada máscara deve consistir em bits contíguos e não deve se sobrepor a outras máscaras. Todas as combinações de campos de bits têm suporte da GDI.

[in] flBlue

Se o parâmetro iMode for PAL_BITFIELDS, os parâmetros flRed, flGreen e flBlue serão máscaras que mostram quais bits correspondem a vermelho, verde e azul. Cada máscara deve consistir em bits contíguos e não deve se sobrepor a outras máscaras. Todas as combinações de campos de bits têm suporte da GDI.

Retornar valor

O valor retornado será um identificador para a nova paleta se a função for bem-sucedida. Caso contrário, ele será zero e um código de erro será registrado.

Comentários

O driver pode associar a nova paleta a um dispositivo retornando um ponteiro para a paleta na estrutura DEVINFO .

Uma paleta de PAL_INDEXED associada ao dispositivo deve ter sua primeira entrada de índice definida como preta (vermelho = 0, verde = 0, azul = 0) e sua última entrada definida como branca (255, 255, 255). Todas as outras entradas devem ser definidas para que as entradas cujos índices sejam complementos uns dos outros tenham cores que contrastam muito. Por exemplo, se 0x9 de entrada de uma paleta de 16 entradas estiver definida como verde puro (0,255,0), 0x6 de entrada (=~0x9) deverá ser definido como uma cor que contrasta bem com verde, como roxo escuro (128,0,128). Definir entradas dessa forma permite que as operações de raster XOR se comportem razoavelmente. Você deve excluir a paleta quando não precisar mais dela usando EngDeletePalette.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

DEVINFO

DrvSetPalette

EngDeletePalette