Farbmodelle verwendet im Dialogfeld Farbe

Die Erweiterung benutzerdefinierte Farben im Dialogfeld " Farbe " kann der Benutzer eine Farbe mit RGB oder HSL-Werte angeben. Die CHOOSECOLOR -Struktur verwendet jedoch nur die RGB-Werte die Farben erstellt oder vom Benutzer ausgewählten Bericht.

RGB-Farbmodell

Das RGB-Farbmodell werden Farben für Displays und andere Geräte, die Licht emittieren. Gültige rot-, grün- und Blau-Werte reichen von 0 bis 255, wobei 0 minimale Intensität und 255 angibt, maximalen Intensität. Die folgende Abbildung zeigt, wie die Grundfarben Rot, grün und blau kombiniert werden können, um vier zusätzliche Farben zu produzieren. (Für Anzeigegeräte entsteht die Farbe schwarz, wenn die rot-, grün- und Blau-Werte auf 0 festgelegt sind. Display-Technologie ist schwarz das Fehlen aller Farben.)

Im folgenden werden die acht Farben und die zugehörigen RGB-Werte.

Farbe RGB-Werte
Rot 255, 0, 0
Grün 0, 255, 0
Blau 0, 0, 255
Zyan 0, 255, 255
Magenta 255, 0, 255
Gelb 255, 255, 0
Weiß 255, 255, 255
Schwarz 0, 0, 0

Das System speichert interne Farben als 32-Bit-RGB-Werte, die die folgende hexadezimale Form haben:

0x00bbggrr 

 

Das niederwertige Byte enthält einen Wert für die relative Intensität von rot; Das zweite Byte enthält einen Wert für grün; und das dritte Byte enthält einen Wert für blau. Das höchstwertige Byte muss NULL sein.

Sie können die RGB Makro zu einen RGB-Wert basierend auf angegebenen Intensitäten für die roten, grünen und blauen Komponenten. Verwendung der GetRValue, GetBValue, und GetGValue Makros zum Extrahieren einzelner Farben aus einem RGB-Farbwert.

HSL-Farbmodell

Das Dialogfeld Farbe enthält Steuerelemente zum HSL-Werte angeben. Die folgende Abbildung zeigt die Farbsteuerung Spektrum und die Leuchtkraft-Folie-Steuerelement, das im Dialogfeld Farbe angezeigt. Die Abbildung zeigt auch die Bereiche der Werte, die der Benutzer, mit diesen Steuerungen angeben kann.

In das Dialogfeld Farbe Sättigung und Helligkeit Werte müssen im Bereich von 0 bis 240 sein, und der Farbtonwert muss im Bereich von 0 bis 239.

HSL-Werte in RGB-Werte konvertieren

Das Dialogfeld Feld Verfahren Datei COMDLG32.DLL für das Dialogfeld Farbe enthält Code, der HSL-Werte in die entsprechenden RGB-Werte konvertiert. Im folgenden werden einige Farben und ihre zugeordneten HSL und RGB-Werte.

Farbe HSL-Werte RGB-Werte
Rot (0, 240, 120) (255, 0, 0)
Gelb (40, 120, 240) (255, 255, 0)
Grün (80, 120, 240) (0, 255, 0)
Zyan (120, 240, 120) (0, 255, 255)
Blau (160, 240, 120) (0, 0, 255)
Magenta (200, 240, 120) (255, 0, 255)
Weiß (0, 0, 240) (255, 255, 255)
Schwarz (0, 0, 0) (0, 0, 0)