Bilddaten im BMP-Format (Windows Bitmap), auch als DIB (device independent bitmap) bezeichnet, bestehen aus drei Teilen:
Bei genauerem Betrachten fällt auf, dass beispielsweise 8 Pixel Bildbreite als 08 00 00 00
angegeben werden. Für alle Angaben in einem BMP gilt: Die Bytefolge ist rückwärts, das kleinste Byte steht vorn. Die Folge 08 10 20 00
müsste man also als 00 20 10 08
lesen. Das passt sehr gut dazu, dass die Pixelfarben nicht RGB notiert sind, sondern als BGR. Und dass die Bilddaten mit der letzten Zeile statt der ersten beginnen.
Der für das Speichern eines Bildes benötigte Speicher umfasst zunächst 54 Bytes für die Header. Dazu kommen für jeden Pixel 3 Byte. Eine weitere Regel verlangt, dass die Anzahl der Bytes pro Zeile in der Bilddatei ein Vielfaches von 4 sein muss. Ist das Bild also beispielsweise 7 Pixel breit, so ergeben sich 7 · 3 = 21 Bytes pro Zeile. Das nächste Vielfache von 4 ist aber 24, also muss jede Zeile noch mit 3 Byte aufgefüllt werden. Die Werte dieser Füllbytes sind beliebig, da sie ohnehin ignoriert werden.