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:
| Offset | Bytes | Beschreibung |
|---|---|---|
| 00H | 4 | Signatur 'FORM' |
| 04H | 4 | Dateilänge in Bytes |
| 08H | 4 | Datentyp '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:
| Bytes | Beschreibung |
|---|---|
| 4 | Blockname 'BMHD' |
| 4 | Länge des Blockes in Byte (hier: 00 00 00 14) |
| 2 | Breite des Bildes in Pixeln |
| 2 | Höhe des Bildes in Pixeln |
| 2 | X-Koordinate der oberen linken Bildecke (normalerweise 0) |
| 2 | Y-Koordinate der oberen linken Bildecke (normalerweise 0) |
| 1 | Zahl der Farbebenen (1, 4 oder 8) |
| 1 | reserviert |
| 1 | Bildkodierung (0=ungepackt, 1=gepackt) |
| 3 | reserviert |
| 1 | Breite eines Pixels (normalerweise 1) |
| 1 | Höhe eines Pixels (normalerweise 1) |
| 2 | maximale Bildbreite (entweder 0 oder gleich Bildbreite) |
| 2 | maximale Bildhöhe (entweder 0 oder gleich Bildhöhe) |
Als nächstes folgt der Color-Map-Block mit der Farbtabelle:
| Bytes | Beschreibung |
|---|---|
| 4 | Blockname 'CMAP' |
| 4 | Länge des Blockes (3 mal Anzahl der Farben) |
| 3 x n | Farbtabelle 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:
| Bytes | Beschreibung |
|---|---|
| 4 | Blockname 'BODY' |
| 4 | Länge des Blockes |
| n | Bilddaten |
Ü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)