PiCture eXchange
aus Wikipedia, der freien Enzyklopädie
PiCture eXchange (PCX) ist ein Dateiformat zur Speicherung von Bilddaten.
Das PCX-Format wurde 1982 von der Firma ZSoft entwickelt und den eigenen Produkten Paintbrush und FRIEZE (Residentes Hilfsprogramm zum Import von Bildern aus anderen Anwendungen z. B. Lotus 1-2-3) eingesetzt. Da Paintbrush mit Windows ausgeliefert wurde hat sich das Format schnell verbreitet. Heute wird es von fast jedem Grafikprogamm unterstützt.
Zum Zeitpunkt der Entwicklung von PCX gab es lediglich Hercules- und CGA-Grafikadapter. Mit den Jahren wurden die Grafikkarten besser und neue Grafikmodes entstanden (EGA, MCGA, VGA). Diese wurden dann durch neuere Versionen der PCX-Formates abgedeckt. Die Änderungen der Formatdefinition beschränkte sich aber im wesentlichen auf die Farbpalette.
Inhaltsverzeichnis |
[Bearbeiten] Übersicht
Name | PiCture eXchange |
Abkürzung | PCX |
Dateiendung | .pcx |
Hersteller | ZSoft, 1982 |
Farbraum | Monochrom Graustufen Palette RGB |
Farbtiefe | 1 Bit - 2 Farben 4 Bit - 16 Farben 8 Bit - 256 Farben 24 Bit - 16,7 Mio |
Kompression | keine RLE (verlustfrei) |
Byteorder | Little Endian |
[Bearbeiten] Aufbau einer PCX-Datei
[Bearbeiten] Allgemeiner Aufbau
Header (128 Byte) |
Bilddaten |
Farbpalette (optional, nur bei 256 Farben) |
[Bearbeiten] Header
PCX-Dateien besitzen, unabhängig von der Version, einen 128 Byte langen Header.
Offset | Bytes | Bedeutung |
---|---|---|
0 | 1 | Identifikation: 10 (0AH) = PCX-File |
1 | 1 | PCX-File Version: 0 = Version 2.5 2 = Version 2.8 mit Palette 3 = Version 2.8 ohne Palette 4 = Windows ohne Palette 5 = Version 3.0 |
2 | 1 | Komprimierung 0 = keine 1 = RLE-Kodierung |
3 | 1 | Bits per Pixel (oder per Plane) |
4 | 8 | Koordinaten des Originalbildes XMIN, YMIN, XMAX, YMAX |
12 | 2 | horizontale Auflösung in DPI (dots per inch) |
14 | 2 | vertikale Auflösung in DPI (dots per inch) |
16 | 48 | Color Map mit der Definition der Farbpalette. Organisiert als 16*3 Byte Feld. |
64 | 1 | reserviert |
65 | 1 | Anzahl der Farbebenen (Planes), max. 4 |
66 | 2 | Bytes pro Bildzeile (gerade Zahl) |
68 | 2 | Palette Information 1 = Farbe - S/W 2 = Graustufen |
70 | 2 | Bildbreite in Pixel |
72 | 2 | Bildhöhe in Pixel |
74 | 54 | Leerbytes zum Auffüllen des Headers |
[Bearbeiten] Bilddaten
Ohne Komprimierung ist jedes Farbbyte ein Index (Verweis) auf die Farbpalette. Mit Komprimierung sind auch Längenbytes möglich, die angeben, wie oft das folgende Farbbyte zu wiederholen ist. Die Komprimierung ist daher besonders bei Grafiken mit größeren einfarbigen Flächen effektiv. Längenbytes werden daran erkannt, dass ihre beiden höchsten Bits gesetzt sind. Mit den restlichen Bits wird die Länge angegeben, so dass die maximal angebbare Länge 63 Bytes beträgt. Einzelne Farbbytes können direkt angegeben werden. Lediglich wenn ihr Wert 192 oder darüber beträgt, müssen sie mit einem vorangehenden Längenbyte mit dem Wert 193 aufgeführt werden, da sie sonst als Längenbyte interpretiert würden.
[Bearbeiten] Farbpalette
Farbpaletten mit mehr als 16 Farben werden hinter den Bilddaten aufgeführt. In diesem Fall wird zwischen Bilddaten und Palette ein Byte mit dem Wert 12 eingefügt. Anschließend folgen nacheinander für jeden Farbindex jeweils 3 Farbbytes für den RGB-Wert.
[Bearbeiten] Literatur
- Thomas W. Lipp: Grafikformate. Microsoft Press, Unterschleißheim 1997, ISBN 3-86063-391-0
- Günter Born: Referenzhandbuch Dateiformate. Addison-Wesley, Bonn 1997, ISBN 3-8273-1241-8