| Diese Seite enthält eine (ältere) Zusammenfassung verschiedener in der Informatik verwendeter FarbSysteme. | Die Seite ist mittlerweile überholt, da zu den meisten Kapiteln eigene Seiten erstellt wurden. |
Farbe |
Farbe in der Informatik: RGB, CMY, HSB ... |
| Paletten | Auswahl von "Index-Farben" |
| Addition | Zusammensetzung von Farben aus mehreren Lichtquellen -> Details |
| TrueColor | Darstellung von 17 Millionen Farben mit 24 Bit |
| HighColor | Darstellung von 66000 Farben mit 16 Bit |
| CSS-Kurzform | Darstellung von 4100 Farben mit 12 Bit |
| Websafe | Darstellung von <256 Farben mit 8 Bit -> Details |
| VGA | Darstellung von 16 Farben mit 4 Bit -> VGA |
| Live Index-Farben | Palette (Farb-Tabelle) von eigenen Grafik-Dateien |
| ANSI-Escape | Farben für die Text-Konsole |
Paletten und Index-Farben |
|
24 Bit RGB ↔ True ColorFarben werden in der Informatik in additiver Form als RGB-Werte definiert.• Dabei sind für jede Grundfarbe 8 Bit = 1 Byte Speicherplatz vorgesehen, das entspricht einer Zahl 0..255. • Durch Kombination der 3 Grundfarben (Rot, Grün, Blau) sind daher 256*256*256=16777216 unterschiedliche Farben darstellbar. Diese Technologie ist unter dem Namen TrueColor oder 24-Bit-Farben bekannt. • Das bedeutet lediglich, dass die Software mit so vielen Farben arbeiten kann. Die meisten praktisch verwendeten Monitore können zwar auf "TrueColor" eingestellt werden, erlauben jedoch nicht die praktische Unterscheidung so vieler Farbtöne. |
PaletteFür besondere Zwecke wird eine Auswahl aus diesen Farben verwendet.• Solche "Paletten" enthalten eine kleinere Anzahl unterschiedlicher Farben, die jedoch alle aus der Menge der TrueColor Farben stammt. • Ihre Daten sind mit weniger Bit zu beschreiben. • Diese Einschränkung bringt für manche Anwendungen Vorteile. Man kann damit z.B. Speicherplatz sparen oder die Geschwindigkeit mancher Anwendungen erhöhen. |
SpeicherplatzDie Einschränkung auf weniger Farben ist normalerweise mit einer Verringerung des Speicher-Aufwands verbunden.• Vorteil: Reduktion der Daten auf Speicher-Medien. Dieser Vorteil ist umso größer, je mehr Datenpunkte (Pixel) zu beschreiben sind, und je weniger Bit pro Pixel für die Farben verwendet werden - d.h. je weniger Farben die Palette umfasst. Das gilt unabhängig davon, ob die Daten zusätzlich komprimiert werden. • Nachteil: Die Verarbeitung erfolgt immer in Standard RGB-Technik mit 24 Bit, daher muss jede Farb-Information sowohl beim Lesen als auch beim Schreiben der Speicherform umgerechnet werden. |
GeschwindigkeitIm Internet ist die Daten-Übertragung oft der langsamste Schritt, welcher die gesamte Geschwindigkeit bestimmt. Andererseits ist am PC viel ungenutzte Leistung verfügbar, d.h. der PC 'wartet' häufig auf Daten (Bilder).In diesem Fall ist es sinnvoll, Paletten zu verwenden: Die geringere Größe der Daten erhöht die Geschwindigkeit, die zusätzlich notwendige Verarbeitung am PC ist dagegen nicht merkbar. |
Farben-AnzahlFür die meisten Anwendungen sind nur wenige Farben erforderlich, die allerdings oft wiederholt werden. Ein Beispiel sind die "Systemfarben", d.h. jene Farben, die vom Betriebssystem zur Darstellung von Menüleisten, Fenstern, Bedienungs-Elementen usw. verwendet werden.Auch für Geschäfts-Grafik sind höchstens einige 100 Farben sinnvoll. Für diese IT-Anwendungen werden daher Paletten eingesetzt. |
Algorithmus oder FarbtabelleEs gibt grundsätzlich zwei verschiedene Möglichkeiten, die Anzahl der Farben einer Palette zu verringern:• Man setzt einen Algorithmus ein, d.h. eine Rechen-Vorschrift. Man könnte z.B. nur jede zehnte der 24-Bit Farben verwenden. • Man setzt eine Farbtabelle ein. Für jede einzelne Farbe der Palette werden darin ihre RGB Farbwerte festgelegt. |
Paletten mit AlgorithmusDie meist verwendeten Beispiele sind die 4096 Farben der CSS-Kurzform und die 216 → WebSafe Farben. In beiden Paletten sind die Farben systematisch über den darstellbaren Bereich verteilt.Quelltext:
Die Einsparung bezieht sich in beiden Fällen auf den Quelltext.Die häufigste und sparsamste Darstellung von Farben im Quelltext ist die hexadezimale Formulierung (#RRGGBB) mit 2 Zeichen pro Grundfarbe. Die CSS-Kurzform (#RGB) verwendet nur je 1 Zeichen, welches bei der Verarbeitung wiederholt wird. Die WebSafe Palette verwendet darüber hinaus nur 6 der 16 Hex Ziffern und kommt mit 8 Bit Speicherplatz pro Farbe aus. |
Index-Farben mit FarbtabelleDieses Verfahren verwendet eine Tabelle (Color Lookup Table, CLUT), welche die 3 RGB Farbwerte für jede einzelne Farbe festlegt. Die Länge der Tabelle beträgt max. 256 Zeilen, d.h. die fortlaufende Nummer jeder Farbe (Farb-Index) kann durch eine Zahl 0..255 dargestellt werden. Das entsprciht 8 Bit = 1 Byte.Mit einer CLUT-Tabelle reduziert sich daher der Speicher-Aufwand von 24 Bit auf maximal 8 Bit pro Farbe. Dafür muss man beim Lesen oder Schreiben jeder Farb-Information in der Tabelle nachschlagen. Dieses Verfahren (Index-Farben) wird u.a. von den Grafik-Formaten GIF und PNG verwendet. |
Additive Farb-Mischung ↔ RGB-Farben |
|
|
Die Angabe der 3 Grundfarben Rot, Grün und Blau (RGB) zur Definition einer
Farbe ist fast allen Paletten gemeinsam. Additive Mischung eignet sich (nur) für
selbst-leuchtende Farb-Quellen, d.h. für Lichtpunkte. Die Auswahl der Farben RGB ist sinnvoll aber nicht selbstverständlich - Einerseits ließen sich die wahrnehmbaren Farben auch durch andere 'Tripel' von Grundfarben darstellen, andererseits gibt es wahrnehmbare Farben außerhalb des mit RGB darstellbaren Bereichs. Je nach Arbeitsbereich verwendet man andere Farb-Systeme als RGB, z.B. das → CMY-System für Drucker. |
In der gesamten Informatik werden Farb-Daten normalerweise als RGB-Daten angegeben. Das trifft auch dann zu, wenn die Daten nicht mit der Addition von Lichtquellen (Monitor-Ausgabe) zu tun haben. RGB-Daten sind daher eine abstahierte Form zur Beschreibung von Farben. Daten anderer Farb-Systeme (→ CMY, → HSB, ...) werden umgerechnet. |
|
Die Beschreibung jeder der 3 RGB Grundfarben erfolgt normalerweise durch
8 Bit = 1 Byte, das entspricht einer Dezimalzahl 0..255
oder einer Hexadezimal-Zahl #00..#FF Auch diese Konvention ist sinnvoll, aber nicht selbstverständlich. Mit mehr als 8 Bit je Grundfarbe könnte man Farben genauer beschreiben. |
Andererseits werden Paletten ausgewählter Farben meist dazu verwendet, um Speicherplatz zu sparen - In diesem Fall wird jede Farbe durch weniger als 8 Bit beschrieben. |
TrueColor ↔ 24 Bit ↔ 16777216 Farben |
|
|
Das True Color System verwendet 8 Bit = 1 Byte zur Beschreibung jeder der 3 Grundfarben
(Rot, Grün, Blau). Mit 8 lassen sich Dezimalzahlen 0..255 darstellen.
Die Kombination der 3 Grundfarben ergibt daher 256*256*256=16777216 verschiedene Farben. TrueColor wird allgemein nicht als Palette angesehen. Genau genommen ist auch dieses System eine Palette, wenn auch mit sehr vielen Farben. |
Zwischen je 2 benachbarten TrueColor Farben gibt es theoretisch unendlich viele weitere
Farbtöne, die mit den üblichen Mitteln der Informatik nicht darstellbar sind. Die Definition von Farben sagt nur aus, dass übliche Software damit arbeiten kann. Im Gegensatz dazu sind die meisten praktisch verwendeten Monitore nicht in der Lage, so viele Farben tatsächlich unterscheidbar anzuzeigen. Unabhängig davon sind auch nicht alle Menschen in der Lage, die geringen Unterschiede dieser Palette wahrzunehmen. Dieses Thema ist oft emotional geprägt, hält jedoch einer objektiven Überprüfung nur selten stand. |
| Der 24 Bit 'Farb-Raum' stellt in der gesamten Informatik die Grundlage der Farb-Definition dar. | Alle nachfolgend genannten Paletten sind Teil-Mengen der TrueColors. Sie verwenden zum Speichern weniger als 24 Bit, zur Farb-Definition werden jedoch immer die 24 Bit der TrueColor Farben verwendet. |
Alpha-KanalModerne Farbsysteme verwenden zusätzlich zu den 3 RGB-Grundfarben ('Kanäle') noch einen 4. Kanal zur Darstellung der Transparenz. Dafür wird 1 weiteres Byte verwendet: Das ergibt eine Abstufung der Transparenz in 256 Stufen und Farb-Worte von 32 Bit. |
Nur neuere Grafik-Formate wie z.B. PNG unterstützen (optional) auch den α-Kanal. Die optionale Transparenz von GIF-Dateien ist nicht abgestuft, d.h. sie kann nur auf 0% oder 100% gesetzt werden. |
HighColor ↔ 16 Bit ↔ 65536 Farben |
|
| Das HighColor System verwendet unterschiedlich viele Bits zur Beschreibung der Grundfarben. | |
CSS-Kurzform ↔ 12 Bit ↔ 4096 Farben |
|
TrueColor mit CSSZur Vermeidung von Missverständnissen wird festgestellt:Mit Cascading StyleSheets (CSS) lässt sich jede der 17 Mio TrueColor Farben definieren. |
Unabhängig davon gibt es eine praktische Kurzform zur Definition von 4096
ausgewählten Farben. ♦ Details zum Thema CSS |
CSS-KurzformDiese 4096 Farben lassen sich im Quelltext mit nur 3 Hexadezimal-Zeichen (#RGB) besonders sparsam darstellen. Für jede Grundfarbe wird nur eine Hex-Ziffer 0..F angegeben. Bei der Interpretation wird dieses Zeichen wiederholt.Beispiel:
Die Kurzform #369 entspricht der
Standard CSS Farb-Definiton #336699
und ist äquivalent der Angabe
rgb(51,102,153) bzw. der Farbe
●
|
In diesem Web wird zur Farb-Definition fast ausschließlich die CSS-Kurzform verwendet, meist noch zusätzlich auf die WebSafe Farben (siehe unten) eingeschränkt. Die 4096 Farben der CSS-Kurzform werden intern meist im TrueColor System gespeichert, d.h. mit 24 Bit je Farbe. In diesem Fall betrifft die Einsparung ausschließlich den Quelltext. |