A extensão de cores personalizadas da caixa de diálogo cor permite que o usuário especificar uma cor usando valores RGB ou HSL. No entanto, a estrutura CHOOSECOLOR usa apenas valores RGB para relatar as cores criadas ou selecionadas pelo usuário.
O modelo RGB é usado para designar cores para monitores e outros dispositivos que emitem luz. Intervalo de valores válidos de vermelho, verde e azul de 0 a 255, com 0 indicando intensidade mínima e 255 que indica a intensidade máxima. A ilustração a seguir mostra como as cores primárias vermelhas, verdes e azuis podem ser combinadas para produzir quatro cores adicionais. (Para dispositivos de exibição, a cor preta resultados quando os valores de vermelhos, verdes e azuis são definidos como 0. Tecnologia de exibição, preta é a ausência de todas as cores.)
A seguir estão oito cores e seus associado valores RGB.
Cor | Valores RGB |
---|---|
Vermelho | 255, 0, 0 |
Verde | 0, 255, 0 |
Azul | 0, 0, 255 |
Ciano | 0, 255, 255 |
Magenta | 255, 0, 255 |
Amarelo | 255, 255, 0 |
Branco | 255, 255, 255 |
Preto | 0, 0, 0 |
O sistema armazena as cores internas como valores RGB de 32 bits que têm o seguinte formato hexadecimal:
0x00bbggrr
A baixa-ordem byte contém um valor para a intensidade relativa de vermelho; o segundo byte contém um valor de verde; e o terceiro byte contém um valor para azul. O alto byte ordem deve ser zero.
Você pode usar o RGB macro para obter um valor RGB com base na especificado intensidades dos componentes vermelho, verde e azul. Uso o GetRValue, GetBValue, e GetGValue macros para extrair cores individuais de uma RGB valor de cor.
A caixa de diálogo de cor fornece controles para especificar valores HSL. A ilustração a seguir mostra o controle do espectro de cores e o controle deslizante de luminosidade que aparecem na caixa de diálogo cor . A ilustração também mostra os intervalos de valores que o usuário pode especificar com esses controles.
Na caixa de diálogo cor , os valores de saturação e luminosidade devem estar no intervalo de 0 a 240 e o valor de matiz deve estar no intervalo de 0 a 239.
O procedimento de caixa de diálogo fornecido em COMDLG32.DLL para a caixa de diálogo de cor contém código que converte valores HSL para os correspondentes valores RGB. A seguir estão várias cores e seus associado valores HSL e RGB.
Cor | Valores HSL | Valores RGB |
---|---|---|
Vermelho | (0, 240, 120) | (255, 0, 0) |
Amarelo | (40, 240, 120) | (255, 255, 0) |
Verde | (80, 240, 120) | (0, 255, 0) |
Ciano | (120, 240, 120) | (0, 255, 255) |
Azul | (160, 240, 120) | (0, 0, 255) |
Magenta | (200, 240, 120) | (255, 0, 255) |
Branco | (0, 0, 240) | (255, 255, 255) |
Preto | (0, 0, 0) | (0, 0, 0) |