Dateiformat: bmp ed

"*" markiert unnötige, oder gar undefinierte, Daten

Header (56b)

Offset	Größe	Bedeutung
0	2b	"BM"	(zeichnet die Bitmap aus!)
2	4b	Komplette Größe der Datei
6	4b	*
10	4b	Offset, bei dem die Bilddaten in der Datei beginnen
14	4b	40		(Header-Größe = 28h)
18	4b	Breite
22	4b	Höhe
26	2b	1		(Anzahl der Ebenen)
28	2b	Farbtiefe (in bit)
30	4b	0		(Kompression (eigentlich immer 0 = unkomprimiert!))
34	4b	Größe der Bilddaten (auf 4b aufgerundet!)
38	4b	*		(horizontale Auflösung (in Pixel pro Meter...))
42	4b	*		(vertikale Auflösung)
46	4b	*		(Anzahl der benutzen Farben)
50	4b	*		(Anzahl der "wichtigen" Farben.....???)

Farbpalette (NUR, falls Farbtiefe <= 8bit!)

Besteht aus je einem dieser Blöcke für jeden mglichen Farb-Index (bei 8bit Farbtiefe 256 Indizes/256 Blöcke):

{
	1b	blau
	1b	grün
	1b	rot
	1b	0
}

Bilddaten

Höhe * Breite -mal dieser Block (abhängig von der Farbtiefe):

{
	<=8 bit:
		1b	Index, der eine Farbe aus der Pallete angibt
	16 bit:
		1bit	*
		5bit	blau
		5bit	grün
		5bit	rot
	24 bit:
		1b	blau
		1b	grün
		1b	rot
	32 bit:
		1b	*
		1b	blau
		1b	grün
		1b	rot
}

Reihenfolge: Die Zeilen sind zusammenhängend von links nach rechts und (meistens) von unten nach oben aneinandergereiht (...auer die Höhe ist negativ....dubios!)

Eine Zeile endet mit sovielen unnötigen Bytes, dass ihre Größe (in bytes) durch 4 teilbar ist (...noch dubioser!)