Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenMittwoch, 13. Dezember 2017 

Windows bitmap


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Das Microsoft Windows / OS/2 - Bitmap-Format BMP ist ein Dateiformat zur verlustfreien Speicherung von Rastergrafiken .

Unter Windows wird es meist mit Dateiendung *.bmp gekennzeichnet. Vorteil dieses Formats ist sein Aufbau was das Einlesen und Speichern vereinfacht. ist es das Standardformat unter Windows sodass weit verbreitet ist. Ein Nachteil des Formates der große Speicherbedarf.

Technische Informationen

BMP-Dateien enthalten einen Header in dem Informationen über das Bildformat über die Datei selbst enthalten sind gefolgt dem eigentlichen Datenbereich. Dieser besteht wiederum aus eventuellen Farbpalette und den eigentlichen Pixel -Daten. Gespeichert wird das Bild im RGB -Farbraum mit einer Farbtiefe von 1 4 8 oder 24 dies entspricht 2 16 256 und 16 Mio. Farben. Werden 256 oder weniger Farben enthalten die Pixeldaten Verweise auf die Farbpalette 24 Bit Farbtiefe ist die Farbe direkt den Daten enthalten. Bei 1 4 oder Bit Farbtiefe ist eine Datenkompression mittels einer einfachen Lauflängenkodierung möglich. Diese wird aber selten eingesetzt. OS/2-Variante des BMP-Formats bietet erweiterte Möglichkeiten zur u.a. kann teilweise das Huffman -Verfahren benutzt werden.

Die Anzahl der Bytes je Zeile muss durch 4 dividierbar Um dies zu gewährleisten werden gegebenenfalls ein drei Null -Bytes angehängt.

Aufbau des BMP-Headers

Der Header besteht in der Regel insgesamt 54 Bytes. Ihre Bedeutung zeigt nachfolgende (am Beispiel eines 18·18-Pixel-Bitmaps):
Position dto.hex Inhalt Beispiel (Hexcode) Bedeutung
00 bis 01 00 bis 01 Dateiformat 42 4D BM (Bitmap)
02 bis 05 02 bis 05 Dateigröße (Bytes) 26 04 00 00 entspricht hex. 04 26 d.h. insgesamt Bytes
06 bis 09 06 bis 09 Null 00 00 00 00  
10 bis 13 0A bis 0D Länge des Headers 36 00 00 00 entspricht hex. 36 d.h. 54 Bytes
14 bis 17 0E bis 11 Länge des Headers ab hier 28 00 00 00 entspricht hex. 28 d.h. 40 Bytes
18 bis 21 12 bis 15 Bildbreite (Pixel) 12 00 00 00 entspricht hex. 12 d.h. 18 Pixel
22 bis 25 16 bis 19 Bildhöhe (Pixel) 12 00 00 00 entspricht hex. 12 d.h. 18 Pixel
26 bis 27 1A bis 1B Ebenenanzahl 01 00 entspricht hex. 01 d.h. eine Ebene
28 bis 29 1C bis 1D Farbtiefe (Bits pro Pixel) 18 00 Hier: 24; alternativ 1 4 oder
30 bis 33 1E bis 21 Kompressionsmethode 00 00 00 00 Hier: keine Kompression
34 bis 37 22 bis 25 Datenmenge ohne Header F0 03 00 00 entspricht hex. 03 F0 d.h. insgesamt Bytes
38 bis 41 26 bis 29 horizontale Auflösung (pixel/Meter) EB 0A 00 00 entspricht hex. 0A EB d.h. 2795
42 bis 45 2A bis 2D vertikale Auflösung (pixel/Meter) EB 0A 00 00 entspricht hex. 0A EB d.h. 2795
46 bis 49 2E bis 31 Anzahl benutzter Farben 00 00 00 00 Hier: ohne Belang
50 bis 53 32 bis 35 Anzahl wichtiger Farben 00 00 00 00 Hier: ohne Belang

Die folgenden 1008 Bytes (Position 54 1061 hex.: 36 bis 425) enthalten die Bildinformation:
Die 18 Bildzeilen werden (von unten oben) mit jeweils 56 Bytes abgespeichert.

Aufbau einer Bildzeile:

Offset dto.hex Bedeutung
00 00 Blau-Anteil der Farbe des 1. Pixels links
01 01 Grün-Anteil der Farbe des 1. Pixels links
02 02 Rot-Anteil der Farbe des 1. Pixels links
03 bis 05 03 bis 05 Blau- Grün- und Rot-Anteil der Farbe 2. Pixels
...
51 bis 53 33 bis 35 Blau- Grün- und Rot-Anteil der Farbe 18. Pixels
54 bis 55 36 bis 37 bedeutungsloser Platzhalter notwendig weil Bytezahl der durch 4 teilbar sein muß

Bei einer Farbtiefe von 1 2 oder 8 Bits pro Pixel wird die Bildinformation in zwei Teilen abgespeichert:
In einer Tabelle werden die Blau- und Rot-Anteile einer benutzten Farbe jeweils in Bytes (je 1 Byte R G B 1 Füllbyte) gespeichert anschließend werden die Bildzeilen unten nach oben) abgespeichert. Beispielsweise werden bei 18·18-Pixel-Bitmap mit einer Farbtiefe von 4 Bits Position 54 die 16 möglichen Farbwerte in Bits gespeichert:

Position dto.hex Bedeutung
54 36 Blau-Anteil der Palettenfarbe 0
55 37 Grün-Anteil der Palettenfarbe 0
56 38 Rot-Anteil der Palettenfarbe 0
57 39 z.Z.: ohne Bedeutung sollte Null sein
58 bis 61 3A bis 3D Blau- Grün- und Rot-Anteil der Palettenfarbe
...
114 bis 117 72 bis 75 Blau- Grün- und Rot-Anteil der Palettenfarbe (hex.: F)

In den folgenden 216 Bytes (Position bis 333 hex.: 76 bis 14D) werden 18 Bildzeilen mit jeweils 12 Bytes abgespeichert.

Aufbau einer Bildzeile:

Offset dto.hex Bsp. (hex) Bedeutung
00 00 50 1. Pixel (von links) besitzt Palettenfarbe
2. Pixel besitzt Palettenfarbe 0
...
08 08 AF 17. Pixel besitzt Palettenfarbe 10
18. Pixel besitzt Palettenfarbe 15
09 bis 11 09 bis 1B 00 00 00 bedeutungsloser Platzhalter notwendig weil Bytezahl der durch 4 teilbar sein muß



Bücher zum Thema Windows bitmap

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/BMP.html">Windows bitmap </a>