Modele de culoare utilizată de caseta de Dialog culoare

Extinderea culori particularizate din caseta de dialog culoare permite utilizatorului să specificați o culoare utilizând valorile RGB sau HSL. Cu toate acestea, structura CHOOSECOLOR utilizează numai valorile RGB pentru a raporta culori creat sau de utilizator.

Modelul de culoare RGB

Modelul RGB este utilizat pentru a desemna culori pentru afișează și alte dispozitive care emit lumină. Valorile valide de roșu, verde și albastru variază de la 0 la 255, cu 0 indică intensitatea minimă și 255 care indică intensitate maximă. Următoarea ilustrație arată modul în care culorile primare roșu, verde și albastru pot fi combinate pentru a produce patru culori suplimentare. (Pentru dispozitive de afișare, negru culoare rezultate atunci când valorile roșu, verde și albastru sunt setate la 0. În tehnologia de afișare, negru este lipsa de toate culorile.)

Următoarele sunt opt culori și valorile lor asociate RGB.

Culoare Valorile RGB
Red 255, 0, 0
Verde 0, 255, 0
Albastru 0, 0, 255
Cyan 0, 255, 255
Magenta 255, 0, 255
Galben 255, 255, 0
Alb 255, 255, 255
Negru 0, 0, 0

Sistemul stochează culorile interne ca valorile RGB de 32-bit care au forma următoare hexazecimal:

0x00bbggrr 

 

Octetul low-ordine conține o valoare de intensitate relativă de roșu; al doilea octet conține o valoare pentru verde; ?i ter?e octet conține o valoare pentru albastru. Octetul high-comandă trebuie să fie zero.

Aveți posibilitatea să utilizați macrocomandă RGB pentru a obține o valoare RGB bazate pe cuantumurile specificate pentru componentele de roșu, verde și albastru. Utilizarea GetRValue, GetBValue, și GetGValue macrocomenzile pentru a extrage culorile individuale la un RGB culoare valoarea.

Modelul de culoare HSL

Caseta de dialog culoare oferă controale pentru specificarea valorilor HSL. Următoarea ilustrație arată controlul spectrul de culori și luminozitate diapozitiv controlul care apar în caseta de dialog culoare . Ilustrație arată, de asemenea, gama de valori utilizatorul poate specifica cu aceste controale.

În caseta de dialog culoare , saturație și luminozitate valorile trebuie să fie în intervalul de la 0 până la 240, și valoarea nuanță trebuie să fie în intervalul 0 prin 239.

Conversia valorilor HSL valorile RGB

Caseta de dialog procedura prevăzută la COMDLG32.DLL pentru caseta de dialog culoare conține codul care face conversia valorilor HSL la valorile RGB corespunzătoare. Următoarele sunt câteva culori și valorile lor asociate HSL și RGB.

Culoare HSL valori Valorile RGB
Red (0, 240, 120) (255, 0, 0)
Galben (40, 240, 120) (255, 255, 0)
Verde (80, 240, 120) (255, 0, 0)
Cyan (120, 240, 120) (0, 255, 255)
Albastru (160, 240, 120) (0, 0, 255)
Magenta (200, 240, 120) (0, 255, 255)
Alb (0, 0, 240) (255, 255, 255)
Negru (0, 0, 0) (0, 0, 0)