Interchange File Format
Interleave Bitmap Format

Dateiendungen: IFF, LBM, PBM

Farbtiefe: 1, 4 oder 8 Bit pro Pixel jeweils mit Palette (teilweise werden auch 24 Bit pro Pixel unterstützt)

Beschreibung: Dieser Standard wurde von der Firma Electronic Arts zum Speichern von Grafiken, Tönen und Texten eingeführt. Das Format kommt ursprünglich vom Amiga, doch seit es das Grafikprogramm Deluxe Paint für den PC gibt, ist es auch hier interessant geworden. Das Format wurde sehr flexibel ausgelegt - neue Definitionen können und werden auch eingeführt.

Interner Aufbau: Der Header jeder LBM-Datei ist wie folgt aufgebaut:

OffsetBytesBeschreibung
00H4Signatur 'FORM'
04H4Dateilänge in Bytes
08H4Datentyp 'ILBM'

Eine LBM-Datei kann nicht nur Bitmaps sondern auch Text und Musik enthalten. In diesem Fall wird ein abweichender Datentyp gespeichert (z.B. '8SVX' für ein 8-Bit-Sample). Nach diesem Header können verschiedene Blöcke folgen, die alle den gleichen schematischen Aufbau haben.

Jeder Block beginnt mit einer 4 Byte langen Signatur. Darauf folgt eine Zahl (4 Byte), welche die Länge des Blockes angibt. Dann folgen die eigentlichen Daten. Ein LBM-Bitmap enthält zunächst den Bitmap-Header-Block:

BytesBeschreibung
4Blockname 'BMHD'
4Länge des Blockes in Byte (hier: 00 00 00 14)
2Breite des Bildes in Pixeln
2Höhe des Bildes in Pixeln
2X-Koordinate der oberen linken Bildecke (normalerweise 0)
2Y-Koordinate der oberen linken Bildecke (normalerweise 0)
1Zahl der Farbebenen (1, 4 oder 8)
1reserviert
1Bildkodierung (0=ungepackt, 1=gepackt)
3reserviert
1Breite eines Pixels (normalerweise 1)
1Höhe eines Pixels (normalerweise 1)
2maximale Bildbreite (entweder 0 oder gleich Bildbreite)
2maximale Bildhöhe (entweder 0 oder gleich Bildhöhe)

Als nächstes folgt der Color-Map-Block mit der Farbtabelle:

BytesBeschreibung
4Blockname 'CMAP'
4Länge des Blockes (3 mal Anzahl der Farben)
3 x nFarbtabelle mit n Einträge zu je 3 Byte für Rot, Grün und Blau

An dieser Stelle können eventuell weitere Blöcke eingeschoben sein, die jedoch problemlos übersprungen werden können. Wichtig ist nur der Body-Block mit den eigentlichen Bilddaten:

BytesBeschreibung
4Blockname 'BODY'
4Länge des Blockes
nBilddaten

Über den Aufbau der komprimierten Bilddaten liegen mir keine Informationen vor. Ich verweise hierzu auf die im Anhang genannten Dokumente.

Typische Software: Deluxe Paint (IBM und Commodore Amiga)


Zurück zum Textanfang
Zurück zum Inhaltsverzeichnis