Modele kolorów w oknie dialogowym Kolor

Rozszerzenie kolory niestandardowe okno dialogowe kolorów pozwala użytkownikowi określić kolor używając wartości RGB lub HSL. Jednakże struktury CHOOSECOLOR używa tylko wartości RGB do raportu kolorów utworzonych lub wybrane przez użytkownika.

Model kolorów RGB

RGB model jest stosowany do określania kolorów wyświetla i innych urządzeń, które emitują światło. Prawidłowe wartości czerwonego, zielonego i niebieskiego zakresu od 0 do 255, z 0 wskazujące natężenie minimalne i 255 wskazujący maksymalne natężenie. Na następującej ilustracji pokazano, jak można łączyć kolory podstawowe, czerwony, zielony i niebieski produkować cztery kolory dodatkowe. (Dla urządzeń wyświetlających, koloru czarnego wyników przy wartości czerwonego, zielonego i niebieskiego są ustawione na 0. Technologią wyświetlania czarnego jest brak wszystkich kolorów.)

Poniżej przedstawiono osiem kolorów i ich skojarzonych z nim wartości RGB.

Kolor Wartości RGB
Czerwony 255, 0, 0
Green 255, 0, 0
Niebieski 0, 0 i 255
Błękitny 0, 255, 255
Karmazynowy 255, 0 i 255
Żółty 255, 255, 0
White 255, 255, 255
Black 0, 0, 0

System przechowuje wewnętrzną kolory jako 32-bitowe RGB wartości, które mają następującą postać szesnastkową:

0x00bbggrr 

 

Bajcie zawiera wartości względnej intensywności czerwony; Drugi bajt zawiera wartość zielonej; a trzecim bajt zawiera wartość dla niebieskiego. Bajcie musi być równe zero.

Można użyć makro RGB , aby uzyskać wartości RGB na podstawie określonego natężenia składników czerwonego, zielonego i niebieskiego. Użycie GetRValue, GetBValue, i GetGValue makra w celu wyodrębnienia pojedyncze kolory z RGB wartości kolorów.

Model kolorów HSL

Okno dialogowe kolorów udostępnia formanty do określania wartości HSL. Na następującej ilustracji pokazano kontroli widma kolorów i kontroli slajdów jasność, który pojawia się w oknie dialogowym kolor . Na ilustracji pokazano również zakresy wartości, które użytkownicy będą mogli określić te formanty.

W oknie dialogowym kolor wartości nasycenia i jaskrawości muszą być z zakresu od 0 do 240, a wartość barwy musi być z zakresu od 0 do 239.

Konwersja HSL wartości na wartości RGB

Procedury pole dialogowe w COMDLG32.Biblioteka DLL w oknie dialogowym kolor zawiera kod, który konwertuje HSL wartości odpowiadające wartości RGB. Poniżej przedstawiono kilka kolorów i skojarzonych z nim wartości HSL i RGB.

Kolor HSL wartości Wartości RGB
Czerwony (0, 240, 120) (255, 0, 0)
Żółty (40, 240, 120) (255, 255, 0)
Green (80, 240, 120) (0, 255, 0)
Błękitny (120, 240, 120) (0, 255, 255)
Niebieski (160, 240, 120) (0, 0 i 255)
Karmazynowy (200, 240, 120) (255, 0 i 255)
White (0, 0, 240) (255, 255, 255)
Black (0, 0, 0) (0, 0, 0)