Farbcodierung
Ein Scanner, eine Digitalkamera oder ein Malprogramm muss bei jedem Pixel (bei jedem kleinen Bildpunkt) eines Bildes die Farbe notieren. Diese Notation, dieser Farbname oder auch Code genannt ist (wie alles im PC) digital, also eine Kette aus 0 und 1. Jede Farbe hat also einem digitalen "Namen". Wie werden Farben digitalisiert/codiert? Wie viele verschiedene Farben kann man in einem Programm oder in einer Datei darstellen?
Dazu gibt es verschiedene Konzepte. Der am weitesten verbreitete Standard verwendet 24bit (Eine reihe von 24 Ziffern 0 oder 1) für eine Farbe. Es gibt so viele 01-Muster mit 24 Stellen, dass man dadurch ca. 16. Mio. Farben codieren kann (= true color). Die festlegung der Namen folgt dem sog. RGB-Modell. Mit diesem Modell bekommt Dunkelgrau beispielsweise den digitalen Code 00011011 00011011 00011011. Dieses Grau ist allerdings nur eines von 256 Graustufen. Ein etwas helleres Dunkelgrau wäre 00111011 00111011 00111011. Ein netter, heller Rosarot-Ton hat den Code 11111001 00111011 00111011. Auch wenn die Leerzeichen zwischen den Achtergruppen ein klein wenig helfen, ist diese Schreibweise natürlich selbst für Technik-Freaks völlig ungeeignet. Kein Mensch kann das fehlerrobust lesen - geschweige denn - sich merken. Eine anderes Farbmodell aus dem Druckereiwesen ist das CMYK-Modell oder das an das Mischen von Farben mit Farbmisch-Geräten orientierte RAL-Modell.
Kaufen Deine Eltern zum Beispiel eine neue Küche, legt Ihnen der Verkäufer für die Küchenfronten sicherlich eine Farbtabelle mit RAL-Farben vor.
Alle diese Modelle codieren viele Millionen Farben. Es kann bei einer Anwendung auch praktisch sein, mit weniger Farben auszukommen, um z.B. Speicherplatz zu sparen. Will man einen bestimmten Design-Stil einhalten, beschränkt man sich ebenfalls gerne auf eine bestimmte, reduzierte Farbpalette. In MS-Paint könnt Ihr beim Abspeichern der Bilder zwischen 4 Farbtiefen wählen. Farbtiefe ist die Bezeichnung für die Anzahl der zur Verfügung stehenden Farben.
Übung
Hol Dir im Internet ein Bild mit vielen Farben (z.B. ein Waldbild mit vielen 1000 Grünschattierungen) und speichere es in MS Paint 4 mal ab. Einmal als bmp-Bild mit 24bit, einmal mit 256 Farben, mit 16 Farben und einmal monochrom. Wähle jedesmal einen anderen Dateinamen und vergleiche die Resultate in Deinem Speicherordner. Achte bei Deinen Ordneroptionen darauf, dass Du die Dateinamen und die Dateigröße sehen kannst.
Wie funktioniert das RGB-Farbmodell?
Das RGB-Modell (ROT-GRÜN-BLAU) nutzt die Tatsache, dass man alle Farben durch Mischung der Lichter einer Rotlampe, einer Grünlampe und einer Blaulampe mischen kann. Diese Tatsache nutzen auch Bühnentechniker, indem sie alle Farben auf der Bühne aus diesen drei Scheinwerfern mischen! Die drei Achtergruppen im RGB-Farbcode sind einfach die Einstellungen der drei Lampen. Zum Beispiel bedeutet Code 264601, dass die Rotlampe auf Einstellung 26 aufgedreht ist, die Grünlampe auf 46 und die Blaulampe auf 01.
Dabei sind jeweils Einstellungen zwischen 0 und 255 möglich.
Der digitale Code dieser Farbe ist dann einfach die Reihe der drei (8-stelligen) Werte im Dualsystem.
255 255 255 ist beispielsweise weiß (alle Lampen voll aufgedreht), der Code 0 0 0 ist schwarz (alle Lampen aus), 255 0 0 ist knallrot (Rotlampe volle Pulle, die beiden anderen auf Null.
Noch praktischer (aber etwas gewöhnungsbedürftig) ist es, unser Dezimalsystem um 6 Ziffern zu erweitern (A ist "Ziffer 10", B ist "Ziffer 11", ... und F ist "Ziffer 15"). Dann sind alle Lampeneinstellungen nur zweistellig. Man lässt dann auch die Zwischenräume weg:
000000 ist schwarz, FFFFFF ist weiß. 333333 ist ein dunkles Grau, DDDDDD ein helles Grau, 34F5E0 ist ein heller Türkiston (Rot ziemlich schwach, grün und blau relativ stark aufgedreht).
Eine kleine Farbauswahl
Farbe | Rotwert dezimal | Grünwert dezimal | Blauwert dezimal | digitaler 24bit-Code | hexadezimal | Farbprobe |
---|---|---|---|---|---|---|
weiß | 255 | 255 | 255 | 11111111 11111111 11111111 | #FFFFFF | weiß
|
schwarz | 0 | 0 | 0 | 00000000 00000000 00000000 | #000000 | schwarz
|
dunkelgrau | 64 | 64 | 64 | 01000000 01000000 01000000 | #404040 | dunkelgrau
|
mittelgrau | 128 | 128 | 128 | 10000000 10000000 10000000 | #808080 | mittelgrau
|
hellgrau | 238 | 238 | 238 | 11101110 11101110 11101110 | #EEEEEE | hellgrau
|
hellrosa | 255 | 238 | 238 | 11111111 11101110 11101110 | #FFEEEE | hellrosa
|
hellgrün | 238 | 255 | 238 | 11101110 11111111 11101110 | #EEFFEE | hellgrün
|
hellblau | 238 | 238 | 255 | 11101110 11101110 11111111 | #EEEEFF | hellblau
|
knallrot | 255 | 0 | 0 | 11111111 00000000 00000000 | #FF0000 | knallrot
|
knallgrün | 0 | 255 | 0 | 00000000 11111111 00000000 | #00FF00 | knallgrün
|
knallblau | 0 | 0 | 255 | 00000000 00000000 11111111 | #0000FF | knallblau
|
knallgelb | 255 | 255 | 0 | 11111111 11111111 00000000 | #FFFF00 | knallgelb
|
cyan | 0 | 255 | 255 | 00000000 11111111 11111111 | #00FFFF | cyan
|
magenta | 255 | 0 | 255 | 11111111 00000000 11111111 | #FF00FF | magenta
|
Der Hexadezimalcode etwas genauer unter der Lupe