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 |