L'estensione di colori personalizzati della finestra di dialogo colore permette all'utente di specificare un colore utilizzando i valori RGB o HSL. Tuttavia, la struttura CHOOSECOLOR utilizza solo i valori RGB per segnalare i colori creati o selezionati dall'utente.
Il modello RGB è utilizzato per designare i colori per esposizioni e altri dispositivi che emettono luce. Intervallo di valori validi di rosso, verde e blu da 0 a 255, 0, che indica l'intensità minima e 255 che indica la massima intensità. L'illustrazione seguente mostra come i colori primari rossi, verdi e blu possono essere combinati per produrre quattro colori supplementari. (Per i dispositivi di visualizzazione, il colore nero risultati quando i valori di rossi, verdi e blu sono impostati a 0. Nella tecnologia di visualizzazione, nero è l'assenza di tutti i colori).
Di seguito sono otto colori e i valori RGB associati.
Colore | Valori RGB |
---|---|
Red | 255, 0, 0 |
Green | 0, 255, 0 |
Blu | 0, 0, 255 |
Ciano | 0, 255, 255 |
Magenta | 255, 0, 255 |
Giallo | 255, 255, 0 |
White | 255, 255, 255 |
Black | 0, 0, 0 |
Il sistema memorizza colori interni come valori RGB a 32 bit che hanno la seguente forma esadecimale:
0x00bbggrr
Il byte di ordine inferiore contiene un valore per l'intensità relativa di rosso; il secondo byte contiene un valore per il verde; e il terzo byte contiene un valore per l'azzurro. Il byte di ordine superiore deve essere zero.
È possibile utilizzare la RGB macro per ottenere un valore RGB basato su intensità specificate per i componenti rossi, verde e blu. Uso il GetRValue, GetBValue, e GetGValue macro per estrarre i singoli colori da un RGB color value.
Viene visualizzata la finestra di dialogo colore fornisce i controlli per specificare i valori HSL. L'illustrazione seguente mostra il controllo dello spettro di colore e il controllo di luminosità diapositiva che appaiono nella finestra di dialogo colore . L'illustrazione mostra anche le gamme dei valori, che l'utente può specificare con questi controlli.
Nella finestra di dialogo colore i valori di saturazione e luminosità devono essere nell'intervallo da 0 a 240 e il valore di tonalità deve essere nell'intervallo da 0 a 239.
La procedura di dialogo casella dal COMDLG32.DLL per la finestra di dialogo colore contiene codice che converte valori HSL i corrispondenti valori RGB. Di seguito sono riportati alcuni colori e i valori associati HSL e RGB.
Colore | Valori HSL | Valori RGB |
---|---|---|
Red | (0, 120, 240) | (255, 0, 0) |
Giallo | (40, 120, 240) | (255, 255, 0) |
Green | (80, 120, 240) | (0, 255, 0) |
Ciano | (120, 120, 240) | (255, 255, 0) |
Blu | (160, 120, 240) | (0, 0, 255) |
Magenta | (200, 240, 120) | (255, 255, 0) |
White | (0, 0, 240) | (255, 255, 255) |
Black | (0, 0, 0) | (0, 0, 0) |