In einem Digitalrechner erwartet der Video-Controller
die Farbinformation als Byte-Tripel. Aus Platzgründen können nicht immer
für jedes Bildschirmpixel 3 Bytes gespeichert werden. Statt dessen
speichert man pro Pixel einen Index, bestehend aus Bits, mit dem man
ein
-Byte-Tripel aus der Color Table referieren kann.
Index | R | G | B | |
0 | 255 | 0 | 0 | Rot |
1 | 0 | 255 | 0 | Grün |
2 | 0 | 0 | 255 | Blau |
3 | 255 | 255 | 0 | Gelb |
Die Color Table kann verwendet werden, um mehrere Bilder dynamisch zu überlagern und wieder zu trennen, ohne die Bilder neu zu zeichnen.
Index | ![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
. | . | . | |
![]() |
. | . | . | |
![]() |
. | . | . | |
![]() |
. | . | . | |
![]() |
. | . | . | |
![]() |
![]() |
![]() |
![]() |
|
![]() |
0 | 0 | 0 | Schwarz |
![]() |
150 | 150 | 150 | Grau |
![]() |
255 | 0 | 0 | Rot |
![]() |
255 | 255 | 0 | Gelb |
![]() |
0 | 255 | 0 | Grün |
![]() |
0 | 255 | 255 | Cyan |
![]() |
0 | 0 | 255 | Blau |
![]() |
255 | 0 | 255 | Magenta |
Offenbar werden alle Pixel mit vorderstem Bit weiß gezeichnet, alle
Pixel mit vorderstem Bit
erhalten die zugewiesene Farbe.
Kopiert man nun die untere Hälfte der Color Table in die obere Hälfte,
so verschwindet die weiße Grafik.
Setzt man die obere Hälfte der Color Table auf Weiß, erscheint die
Grafik wieder.
Der Aufwand hängt nur von der Größe der
Farbtabelle ab, nicht von der Größe der Bilder.
Die Color Table kann auch zur Animation verwendet werden.
Bei sich überlagernden Objekten wird für jede Position eine Bit-Plane
benötigt: Alle Pixel des Objekts in Lage setzen das
-te Bit
in ihrem Index auf
. Das Objekt wird bei Position
sichtbar,
indem für Indizes mit
-tem Bit
die Objektfarbe gesetzt wird.
Die Anzahl der Bit-Planes entspricht der Anzahl der Bits im Index.
Darstellung eines True-Color-Bildes auf einem 8-Bit-Farbschirm
Es wird eine Farbtabelle initialisiert,
die einem
RGB-Würfel entspricht.
D.h. auf insgesamt 216 Einträge verteilt befindet sich
das Farbspektrum mit je 6 verschiedenen Rot-, Grün- und
Blau-Abstufungen.
Jedem RGB-Tripel des True-Color-Bildes wird der Index
des nächstgelegenen Farbeintrags zugeordnet.
Hierzu wird der Bereich
in 6 Intervalle
partitioniert, denen ein quantisierter Wert zugeordnet ist:
![]() |
0 ![]() |
26 ![]() |
77![]() |
128 ![]() |
179 ![]() |
230 ![]() |
![]() |
0 | 51 | 102 | 153 | 204 | 255 |
Hi-Color-Modus
Beim Hi-Color-Modus werden die Rot-, Grün-, Blauanteile eines
Pixels durch den Grafikkartentreiber auf
Bit
gerundet, d.h., die letzten 3 bzw. 2 Bit werden abgeschnitten.
Der resultierende 2 Byte lange Index wird im Bildspeicher abgelegt.
Beim Auslesen läßt sich daraus unmittelbar ein
Spannungstripel erzeugen, eine Farbtabelle wird nicht benötigt.
Es sind also
Farben gleichzeitig darstellbar.
Beim Einlesen eines Palettenbildes wird jedem
Bildpunkt der 2-Byte Index zugeordnet, der
sich nach Rundung des referierten Farbtabelleneintrags ergibt.
Danach wird die Farbtabelle nicht mehr benötigt.