&d2D Datenformat der MegaPaint Rasterbilddateien *.PCX &d@

&d1D Dateikopf &d@

    1 Byte    Identifikation                    ($0A)
    1 Byte    Versionsnummer                    ($03)
    1 Byte    Kodierungsschema                  ($01)
    1 Byte    Bits pro Pixel                    ($01)
    1 Wort    Minimale x-Ordinate               ($0000)
    1 Wort    Minimale y-Ordinate               ($0000)
    1 Wort    Maximale x-Ordinate               ($0000-$1dff = 0-7679 Pixel)
    1 Wort    Maximale y-Ordinate               ($0000-$1dff = 0-7679 Pixel)
    1 Wort    Horizontale Auflsung             (Maximale x-Ordinate +1)
    1 Wort    Vertikale Auflsung               (Maximale y-Ordinate +1)
   48 Bytes   Farbtabelle                       ($00)
    1 Byte    Reserviert                        ($00)
    1 Byte    Anzahl Farbebenen                 ($01)
    1 Wort    Anzahl Bytes pro Zeile            ($0002-$03c0 = 2-960 Bytes)
   60 Bytes   Ungenutzt                         ($00)
   
Die Lnge des Headers betrgt also 128 Bytes. Der Wert fr die Anzahl Bytes
pro Zeile mu immer gerade sein.

Da das PCX-Format fr MS-DOS Rechner entwickelt wurde, die in der Regel auf
einem INTEL-Prozessor basieren, ist zu beachten, da alle Worte im INTEL-
Format vorliegen. Als Beispiel die Zahl 511 als Wort:
        $01FF   (MOTOROLA-Format)
        $FF01   (INTEL-Format)

&d1D Dateirumpf &d@

Dem PCX-Format liegt eine einfache Komprimierungsmethode zugrunde. Anhand der
zwei hchstwertigen Bits eines Bytes ist festgelegt, ob es sich um ein
Grafikbyte oder um einen Zhler handelt. Sind die beiden hchstwertigen Bits
gesetzt, handelt es sich um einen Zhler und die sechs niederwertigen Bits
geben die Anzahl an, um die sich das nchste Byte (immer ein Grafikbyte)
wiederholt. Der Zhler $C4 zeigt also an, da das folgende Grafikbyte viermal
einzusetzen bzw. zu lesen ist. Natrlich mu auch einem Grafikbyte, bei dem
zufllig die beiden hchstwertigen Bits gesetzt sind, ein Zhler ($C1)
vorangestellt werden, da es sonst zu Fehlinterpretationen kommt.

Die Komprimierung kann sich auch ber zwei oder mehrere Zeile erstrecken, beim
Lesen mu deshalb die im Header angegebene Anzahl Bytes pro Zeile bercksichtigt
werden.

Zu beachten ist, da im PCX-Format weie Punkte bzw. Punkte ohne Farbe durch
eine 1 (gesetztes Bit) und schwarze bzw. farbige Punkte durch eine 0
(gelschtes Bit) dargestellt werden. 


(s1SStand Mrz 1990(s0S
