BMP-Format

BMP-Format

Das BMP -Format gehört zu den einfachsten Format, die von Microsoft und IBM zusammen entwickelt wurden, was auch erklärt, warum es besonders bei Windows und OS/2 verbreitet ist. Eine BMP-Datei ist eine Bitmap-Datei, das bedeutet eine Graphikbild-Datei, die Pixel in Form einer Punktetabelle beinhaltet und die Farben entweder nach echten Farben oder mithilfe einer indexierten Palette verwaltet. Das BMP-Format wurde so entwickelt, damit man eine Bitmap unabhängig von den Anzeigegeräten erhält (DIB, Device independent bitmap).

Die Struktur einer Bitmap-Datei ist wie folgt :

Kopf der Datei

Der Kopf der Datei liefert Informationen über den Dateityp (Bitmap), seine Größe und gibt an, wo die Information in Bezug auf das Bild selbst beginnen.

Der Kopf besteht aus vier Feldern :

  • Die Unterschrift (2 Bytes), in der mithilfe von zwei Zeichen angegeben wird, dass es sich um eine BMP-Datei handelt
    • BM, 424D in hexadezimal, gibt an, dass es sich um ein Windows Bitmap handelt.
    • BA gibt an, dass es sich um ein Bitmap OS/2 handelt.
    • CI gibt an, dass es sich um ein Farbsymbol OS/2 handelt.
    • CP gibt an, dass es sich um einen Farbzeiger OS/2 handelt.
    • IC gibt an, dass es sich um ein OS/2-Symbol handelt.
    • PT gibt an, dass es sich um einen OS/2-Zeiger handelt.
  • Die Gesamtgröße der Datei in Bytes (kodiert auf 4 Bytes)
  • Ein vorgemerktes Feld (auf 4 Bytes)
  • Bildoffset (auf 4 Bytes), auf Deutsch Verschiebung, das bedeutet, die Adresse zu Beginn der Bildinformationen im Vergleich zum Beginn der Datei

Kopf des Bildes

Der Kopf des Bildes liefert Informationen über das Bild, insbesondere über seine Maße und Farben.

Der Kopf des Bildes besteht aus vier Feldern :

  • Die Größe des Bildkopfes in Bytes (kodiert auf 4 Bytes). Die folgenden hexadezimalen Werte sind möglich je nach BMP-Formattyp :
    • 28 für Windows 3.1x, 95, NT, ...
    • 0C für OS/2 1.x
    • F0 für OS/2 2.x
  • Die Bildbreite (auf 4 Bytes), das heißt die Anzahl der horizontal angeordneten Pixel (auf Englisch width)
  • Die Bildhöhe (auf 4 Bytes), das heißt die Anzahl der vertikal angeordneten Pixel (auf Englisch height)
  • Die Anzahl der Pläne (auf 2 Bytes). Dieser Wert entspricht immer 1
  • Die Tiefe der Farbenkodierung (auf 2 Bytes), das heißt die Anzahl der zur Farbenkodierung benutzten Bits. Dieser Wert kann 1, 4, 8, 16, 24 oder 32 entsprechen
  • Die Komprimierungsmethode (auf 4 Bytes). Dieser Wert ist gleich 0, wenn das Bild nicht komprimiert ist oder 1, 2 oder 3 je nach benutztem Komprimierungstyp  :
    • 1 für eine RLE-Kodierung von 8 Bits pro Pixel
    • 2 für eine RLE-Kodierung von 4 Bits pro Pixel
    • 3 bei einer Bitfields-Kodierung, was bedeutet, dass die Farbe durch eine dreifache Maske kodiert wird, die durch eine Palette darstellt wird.
  • Die Gesamtgröße des Bildes in Bytes (auf 4 Bytes).
  • Die horizontale Auflösung (auf 4 Bytes), das heißt die horizontal angeordnete Pixelanzahl pro Meter
  • Die vertikale Auflösung (auf 4 Bytes), das heißt die vertikal angeordnete Pixelanzahl pro Meter
  • Die Anzahl der Farben der Palette (auf 4 Bytes)
  • Die Anzahl von wichtigen Farben auf der Palette (auf 4 Bytes). Dieses Feld kann gleich 0 sein, wenn jede Farbe ihre Bedeutung hat.

Bildpalette

Die Palette ist optional. Wenn eine Palette definiert wird, enthält sie nacheinander 4 Bytes für jeden ihrer Eingänge, die folgendes darstellen :

  • die blaue Komponente (auf 1 Byte)
  • die grüne Komponente (auf 1 Byte)
  • die rote Komponente (auf 1 Byte)
  • ein vorgemerktes Feld (auf 1 Byte)

Bildkodierung

Die Bildkodierung erfolgt, indem nacheinander die Bits aufgeschrieben werden, die Zeile für Zeile jedem Pixel entsprechen, begonnen wird mit dem Pixel unten links.

  • Die zweifarbigen Bilder benutzen 1 Bit pro Pixel, was bedeutet, dass mit einem Byte 8 Pixel kodiert werden können
  • Die 16-farbigen Bilder benutzen 4 Bits pro Pixel, was bedeutet, dass mit einem Byte 2 Pixel kodiert werden können
  • Die 256-farbigen Bilder benutzen 8 Bits pro Pixel, was bedeutet, dass ein Byte jedes Pixel kodiert
  • Die Bilder mit echten Farben benutzen 24 Bits pro Pixel, was bedeutet, dass 3 Bytes benötigt werden, um jeden Pixel zu kodieren, dabei muss die Reihenfolge der Abwechslung blau, grün und rot eingehalten werden.
Jede Zeile des Bildes muss eine Gesamtanzahl von Bytes enthalten, die ein Vielfaches von 4 ist; ist dies nicht der Fall, muss die Linie durch 0 so ergänzt werden, damit dieses Kriterium eingehalten wird.


Letzte Änderung am Mittwoch 1 April 2009 à 14:16:20


Das Dokument mit dem titel « BMP-Format » aus Kioskea (de.kioskea.net) zur verfügung gestellt wird unter den bedingungen der Creative Commons lizenz. Können Sie ändern, Kopien dieser Seite, unter den Bedingungen der Lizenz, als diese Bewertung deutlich.