Fargemodellene som brukes av dialogboksen farge

Egendefinerte farger-filtypen i dialogboksen farge lar brukeren angi en farge ved hjelp av RGB- eller HSL-verdier. CHOOSECOLOR -struktur bruker imidlertid bare RGB-verdiene til å rapportere fargene opprettet eller valgt av brukeren.

RGB-fargemodellen

RGB-modellen brukes til å angi farger for skjermer og andre enheter som avgir lys. Gyldige verdier for rød, grønn og blå varierer fra 0 til 255, med 0 som angir minimum intensitet og 255 som angir maksimal intensitet. Illustrasjonen nedenfor viser hvordan primærfargene rød, grønn og blå kan kombineres for å produsere fire flere farger. (For visningsenheter, sort farge resultater når de røde, grønne og blå verdiene er satt til 0. I-teknologien, svart er fravær av alle farger.)

Følgende er åtte farger og deres tilknyttede RGB-verdier.

Farge RGB-verdier
Red 255, 0, 0
Green 0, 255, 0
Blå 0, 0, 255
Cyan 0, 255, 255
Magenta 255, 0, 255
Gul 255, 255, 0
White 255, 255, 255
Svart 0, 0, 0

Systemet lagrer interne farger som 32-biters RGB-verdiene, som har følgende heksadesimal form:

0x00bbggrr 

 

Den signifikante byten inneholder en verdi for den faktiske intensiteten av rød; den andre byten inneholder en verdi for grønne; og den tredje byten inneholder en verdi for blå. Den mest signifikante byten må være null.

Du kan bruke den RGB -makro for å få en RGB-verdi basert på angitte intensiteter for de røde, grønne og blå-komponentene. Bruk den GetRValue, GetBValue, og GetGValue -makroer for å trekke ut individuelle farger fra en RGB-fargeverdi.

HSL-fargemodellen

Dialogboksen farge inneholder kontroller for å angi HSL-verdier. Følgende illustrasjon viser spekteret kontrollen farge og lysstyrke skyvekontrollen som vises i dialogboksen farge . Illustrasjonen viser også verdiområder kan brukere med disse kontrollene.

I dialogboksen farge , metning og lysstyrke verdiene må være i området 0 til 240, og nyanse-verdien må være i området 0 til 239.

Konverterer HSL verdier til RGB-verdier

Dialogboksen boksen fremgangsmåte forsynt i COMDLG32.DLL for dialogboksen farge inneholder kode som konverterer HSL verdier til tilsvarende RGB-verdier. Nedenfor finner du flere farger og deres tilknyttede HSL- og RGB-verdier.

Farge HSL-verdier RGB-verdier
Red (0, 240, 120) (255, 0, 0)
Gul (40, 240, 120) (255, 255, 0)
Green (80, 240, 120) (0, 255, 0)
Cyan (120, 240, 120) (0, 255, 255)
Blå (160, 240, 120) (0, 0, 255)
Magenta (200, 240, 120) (255, 0, 255)
White (0, 0, 240) (255, 255, 255)
Svart (0, 0, 0) (0, 0, 0)