Windows-Bitmap (.bmp)

Microsoft Standard

Das Bitmap Image File (BMP) ist Microsofts grundlegendes, geräteunabhängiges Rastergrafikformat, das unkomprimierte oder RLE-komprimierte Abtastzeilen mit direkter Hardware-Framebuffer-Kompatibilität speichert.

Von BMP zu PNG konvertieren

Kostenloser Konverter von BMP zu PNG im Browser. Konvertieren Sie Dateien sofort auf Ihrem Gerät.

Untersuchen & Metadaten

Betriebssysteme und Dateianalyseprogramme identifizieren BMP-Dateien anhand der führenden binären Bytefolge:

Dateien auswählen oder hierher ziehen

Privat - Dateien verlassen Ihr Gerät nie

oder einfügen Strg+V
Datenschutzgarantie ohne Netzwerkübertragung: 0 Bytes an externe Server hochgeladen. Die gesamte Verarbeitung erfolgt lokal in Ihrer Browser-Sandbox.

Headersignatur auf Byte-Ebene (Magic Bytes)

Betriebssysteme und Dateianalyseprogramme identifizieren BMP-Dateien anhand der führenden binären Bytefolge:

HEX-SIGNATUR (OFFSET 0):

42 4D

ASCII-DARSTELLUNG: BM

Standardisierung: Microsoft Windows Device-Independent Bitmap (DIB) Architecture

Technische Daten

Container-ArchitekturBITMAPFILEHEADER gefolgt von BITMAPINFOHEADER (DIB) und Raster-Pixel-Array
KompressionUnkomprimierte rohe Abtastzeilen oder optionales BI_RLE8 / BI_RLE4 Run-Length-Encoding
Byte-ReihenfolgeLittle-Endian (Intel-x86-Byte-Reihenfolge)
FarbräumeGeräteabhängiges RGB, sRGB (eingebetteter BITMAPV5HEADER)
Kanäle und Struktur1-Bit Monochrom, 4-Bit / 8-Bit mit Palette, 16-Bit, 24-Bit RGB oder 32-Bit RGBA
Max. Abmessungen2.147.483.647 x 2.147.483.647 Pixel (vorzeichenbehaftete 32-Bit-Ganzzahl)
Transparenz32-Bit BGRA-Alphakanal wird in modernen BITMAPV3HEADER- und V5HEADER-Formaten unterstützt
Streaming und progressive DarstellungNicht streambar; Abtastzeilen werden auf dem Kopf stehend (von unten nach oben) gespeichert, es sei denn, die Höhe ist negativ

Technische Vergleichsmatrix: BMP und Konkurrenzformate

Technisches AttributBMP (Aktuelles Format)PNGTIFFJPG
KomprimierungsmodusUnkomprimiert / Minimales RLEVerlustfreie Deflate-Komprimierung; die Dateigrößeneinsparung hängt vom Bildinhalt abUnkomprimiert / LZW / ZipVerlustbehaftetes DCT (~90 % kleiner)
DekodierungsgeschwindigkeitDirektes Kopieren im ArbeitsspeicherErfordert Deflate-DekomprimierungErfordert LZW/ZIP-DekomprimierungErfordert IDCT-Berechnung
Abtastzeilen-AnordnungVon unten nach oben (invertiert)Von oben nach untenVon oben nach unten / StreifenVon oben nach unten MCU-Blöcke
Web-EignungSehr schlecht (aufgeblähte Nutzdaten)Hervorragend für GrafikenSchlecht (Desktop-Publishing)Hervorragend für Fotografie

Häufige Datenbeschädigungen und Leitfaden zur Wiederherstellung anhand von Hex-Daten

Das Bild wird diagonal verschoben oder in einem Winkel verzerrt gerendert.

Ursache: Falsche Berechnung des Zeilen-Paddings (Fehler beim Auffüllen jeder Abtastzeile auf eine 4-Byte-Grenze).

Wiederherstellung: Erneut kodieren mit dem File2File.app Image Converter, um den korrekten 32-Bit-Abtastzeilenschritt zu erzwingen.

Sicherheitsanalyse und Angriffsvektoren für Parser

BMP-Dekodierer leiden häufig unter Puffer-Überlesungen (Buffer Over-reads), wenn Puffer basierend auf nicht vertrauenswürdigen DIB-Header-Dimensionen zugewiesen werden.

Bekannte Angriffsvektoren

  • Ganzzahlüberlauf (Integer Overflow) bei der Berechnung von Breite * Höhe * bpp, was zu einer kleinen Heap-Zuweisung und einem Schreiben außerhalb der Grenzen führt.
  • Beschädigte RLE8/RLE4-Run-Length-Escape-Sequenzen, die Schreibzugriffe auf Speicher außerhalb des zugewiesenen Puffers verursachen.
  • Denial-of-Service durch mehrere Gigabyte große Speicherzuweisungen, die durch manipulierte Header-Abmessungen ausgelöst werden.

Empfohlene Schutzmaßnahmen: Validieren Sie die Grenzen von DIB-Header-Breite, -Höhe und -Farbtiefe streng, bevor Sie den Zielspeicher zuweisen.

Historische Ursprünge & Meilensteine

1998Windows 98 führt BITMAPV5HEADER ein und fügt ICC-Farbprofilverwaltung sowie Gammakorrektur hinzu.
1990Windows 3.0 standardisiert die BITMAPINFOHEADER DIB-Spezifikation im gesamten Betriebssystem.
1987Eingeführt mit Windows 2.0 und OS/2 1.1 als natives Anzeigerasterformat.

Hauptvorteile & Stärken

  • Keinerlei Komprimierungsverlust: 100 % bitgenaue Pixelspeicherung ohne Komprimierungsartefakte.
  • BMP verfügt über einen nativen Windows-Codec; die Unterstützung in anderen Betriebssystemen und Anwendungen variiert.
  • Dank seiner einfachen Dekodierung eignet sich das Format für eingebettete Mikrocontroller und als Lehrbeispiel für Grafikprogrammierung.

Technische Einschränkungen & Nachteile

  • Enorme Dateigrößen aufgrund des Fehlens moderner Entropiekomprimierung wie DEFLATE oder Huffman-Codierung.
  • Ineffizient für die Web-Übertragung oder die Verteilung in Mobilfunknetzwerken.
  • Die Abtastzeilen-Anordnung von unten nach oben erfordert eine vertikale Zeileninversion in modernen Top-Down-Grafikpipelines.

Interessante technische Fakten

  • BMP-Dateien speichern Bildzeilen standardmäßig von unten nach oben. Diese Reihenfolge geht auf das kartesische Koordinatensystem in OS/2 zurück.
  • Wenn der Höhenwert im BMP-Header auf eine negative Zahl gesetzt wird, wird das Bild richtig herum (von oben nach unten) dekodiert.
  • Jede Abtastzeile in einer BMP-Datei muss mit Nullen auf ein Vielfaches von 4 Byte (32-Bit-Grenzausrichtung) aufgefüllt werden.

Häufig gestellte technische Fragen

Warum sind BMP-Dateien so groß?

BMP-Dateien speichern rohe, unkomprimierte Farbwerte für jeden einzelnen Pixel, während Formate wie PNG diese Daten komprimieren, ohne an Qualität zu verlieren.

Kann BMP Transparenz unterstützen?

Ja. 32-Bit-BMP-Dateien (unter Verwendung von BITMAPV3HEADER oder neuer) können einen 8-Bit-Alphakanal speichern, obwohl die Unterstützung in älterer Software variiert.

Wie kann ich die Größe einer BMP-Datei reduzieren?

Die Konvertierung von BMP in PNG kann die Dateigröße verringern und dabei die Pixelwerte erhalten. Das Ergebnis hängt jedoch vom Bildinhalt und der BMP-Kodierung ab.