Modelli di colore utilizzati dalla finestra di dialogo colore

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.

Modello di colore RGB

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.

Modello di colore HSL

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.

Conversione di valori HSL in valori RGB

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)