<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Windows_Bitmap</id>
	<title>Windows Bitmap - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Windows_Bitmap"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Windows_Bitmap&amp;action=history"/>
	<updated>2026-05-18T02:05:12Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Windows_Bitmap&amp;diff=1345465&amp;oldid=prev</id>
		<title>imported&gt;Trustable: colspan korrigiert</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Windows_Bitmap&amp;diff=1345465&amp;oldid=prev"/>
		<updated>2025-10-31T17:19:59Z</updated>

		<summary type="html">&lt;p&gt;colspan korrigiert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Dateiformat&lt;br /&gt;
| Name =&lt;br /&gt;
| Icon = &lt;br /&gt;
| Logo = &lt;br /&gt;
| Screenshot =&lt;br /&gt;
| Beschreibung =&lt;br /&gt;
| Dateiendung = .bmp, .dib&lt;br /&gt;
| MIME = image/x-ms-bmp, image/x-bmp, image/bmp&lt;br /&gt;
| MIME-Anm =&lt;br /&gt;
| MagischeZahl = BM&lt;br /&gt;
| MagischeZahlNotation =&lt;br /&gt;
| MagischeZahlHex = 42, 4D&lt;br /&gt;
| Entwickler = [[Microsoft]]&lt;br /&gt;
| Veröffentlicht =&lt;br /&gt;
| LetzteVersion = 5&lt;br /&gt;
| LetzteVersionDatum =&lt;br /&gt;
| Art = [[Rastergrafik]]&lt;br /&gt;
| Container für =&lt;br /&gt;
| Enthalten in =&lt;br /&gt;
| Erweitert von =&lt;br /&gt;
| Erweitert zu =&lt;br /&gt;
| Standard =&lt;br /&gt;
| Website =&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows Bitmap&amp;#039;&amp;#039;&amp;#039; (BMP) oder &amp;#039;&amp;#039;&amp;#039;device-independent bitmap&amp;#039;&amp;#039;&amp;#039; (DIB) ist ein zweidimensionales [[Rastergrafik]]format, das für die Betriebssysteme [[Microsoft Windows|Windows]] und [[OS/2]] entwickelt und mit [[Microsoft Windows 3.0]] eingeführt wurde, welches 1990 erschien. Die [[Dateinamenserweiterung|Dateiendung]] ist &amp;#039;&amp;#039;.bmp&amp;#039;&amp;#039;, seltener &amp;#039;&amp;#039;.dib&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Merkmale ==&lt;br /&gt;
BMPs gibt es in drei verschiedenen Versionen. Die meisten BMP-Dateien liegen in der Version 3 vor; es gibt keine früheren Versionen. Die späteren Versionen 4 und 5 sind höchst selten anzutreffen.&lt;br /&gt;
&lt;br /&gt;
Windows-Bitmaps (der Version 3) erlauben [[Farbtiefe (Computergrafik)|Farbtiefen]] von 1, 4, 8, 16, 24 oder 32&amp;amp;nbsp;bpp (bpp = bits per pixel, Bits je Bildpunkt), wobei bei 16 und 32 &amp;lt;abbr title=&amp;quot;bits per pixel&amp;quot;&amp;gt;bpp&amp;lt;/abbr&amp;gt; nicht alle [[Bit]]s tatsächlich genutzt werden müssen. [[Alphakanal|Alphakanäle]], [[Farbkorrektur]] und [[Metadaten]] werden nicht unterstützt. Windows-Bitmaps werden entweder unkomprimiert oder verlustfrei mit RLE-Komprimierung ([[Lauflängenkodierung]]) gespeichert. Dies ist ein eher schwaches Verfahren, sodass BMP-Dateien wesentlich größer sind als andere Formate wie [[Portable Network Graphics|PNG]] und kaum für das [[Internet]] genutzt werden. Dafür ist das BMP-Format relativ einfach aufgebaut. BMPs sind vor allem im Windows-Umfeld weit verbreitet; gängige [[Grafiksoftware]] unterstützt das Format problemlos (mit Ausnahme der eher exotischen Farbtiefen 16 und 32&amp;amp;nbsp;&amp;lt;abbr title=&amp;quot;bits per pixel&amp;quot;&amp;gt;bpp&amp;lt;/abbr&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Die maximale Breite/Höhe eines Bildes beträgt theoretisch je 2.147.483.647 Pixel (2&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt;&amp;amp;nbsp;−&amp;amp;nbsp;1). In der Praxis akzeptieren viele Decoder nur deutlich niedrigere Werte.&amp;lt;ref&amp;gt;{{Internetquelle |titel=Quellcode für BMPImageReader.cpp in Chromium |url=https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/platform/image-decoders/bmp/BMPImageReader.cpp#389 |zugriff=2015-12-02 |werk=chromium.googlesource.com |archiv-url=https://web.archive.org/web/20151208044554/https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/platform/image-decoders/bmp/BMPImageReader.cpp#389 |archiv-datum=2015-12-08 |offline=ja |archiv-bot=2019-05-24 00:53:45 InternetArchiveBot }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |titel=Quellcode für nsBMPDecoder.cpp in Mozilla Firefox |url=https://dxr.mozilla.org/mozilla-central/rev/470f4f8c2b2d6f82e56e161a4b05262c85f55b59/image/decoders/nsBMPDecoder.cpp#538 |zugriff=2015-12-02 |werk=dxr.mozilla.org |offline=ja }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dateiformat (Version 3) ==&lt;br /&gt;
{| class=&amp;quot;wikitable float-right&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|class=&amp;quot;hintergrundfarbe5&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Dateikopf&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;(&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BITMAPFILEHEADER&amp;lt;/span&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#E3ECF4&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Informationsblock&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;(&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BITMAPINFO&amp;lt;/span&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Bitmap-Eigenschaften&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;(&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BITMAPINFOHEADER&amp;lt;/span&amp;gt;)&lt;br /&gt;
: &amp;lt;hr noshade=&amp;quot;noshade&amp;quot; size=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
: Eventuell: &amp;#039;&amp;#039;&amp;#039;Farbmasken&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;lt;hr noshade=&amp;quot;noshade&amp;quot; size=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
: Eventuell: &amp;#039;&amp;#039;&amp;#039;Farbtabelle&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| Eventuell: Ungenutzter Platz&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#CCDDEE&amp;quot;| &amp;#039;&amp;#039;&amp;#039;Bilddaten&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| Eventuell: Ungenutzter Platz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
BMP-Dateien bestehen aus drei Teilen: dem Dateikopf, dem Informationsblock und den Bilddaten (siehe Schema rechts).&lt;br /&gt;
&lt;br /&gt;
Im Folgenden bezeichnet &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;WORD&amp;lt;/span&amp;gt; einen 16-Bit-vorzeichenlosen [[Integer (Datentyp)|Integer]], &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;DWORD&amp;lt;/span&amp;gt; einen 32-Bit-vorzeichenlosen Integer und &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;LONG&amp;lt;/span&amp;gt; einen im [[Zweierkomplement]] kodierten 32-Bit-Integer. BMP verwendet die [[Little Endian|Little-Endian]]-Konvention.&lt;br /&gt;
&lt;br /&gt;
=== Dateikopf ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot; style=&amp;quot;background:#FFEFD5&amp;quot;| &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BITMAPFILEHEADER&amp;lt;/span&amp;gt; (Größe: 14 Byte)&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| Offset (Byte)&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Größe&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Inhalt&lt;br /&gt;
|-&lt;br /&gt;
! Dez&lt;br /&gt;
! Hex&lt;br /&gt;
! Windows-Style&lt;br /&gt;
! C-Style&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| WORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint16_t&lt;br /&gt;
| 2 Byte&lt;br /&gt;
| bfType&lt;br /&gt;
| [[ASCII]]-Zeichenkette &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;&amp;quot;BM&amp;quot;&amp;lt;/span&amp;gt; (Hex: 0x42 0x4D, Dezimal: 66 77).&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| bfSize&lt;br /&gt;
| Größe der BMP-Datei in Byte. (unzuverlässig)&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 6&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| bfReserved&lt;br /&gt;
| Reserviert, von der Software abhängig, standardmäßig 0&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| A&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| bfOffBits&lt;br /&gt;
| Offset der Bilddaten in Byte vom Beginn der Datei an.&lt;br /&gt;
Dieser hat nicht immer den Wert 54 (er ergibt sich aus 14 Byte Header + 40 Byte Infoblock) und muss daher dynamisch ausgelesen werden, weil es sonst ggf. zu Fehldarstellungen im Bild kommt.&lt;br /&gt;
|}&amp;lt;ref&amp;gt;[http://msdn.microsoft.com/de-de/library/dd183374(en-us,VS.85).aspx BITMAPFILEHEADER Structure]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Informationsblock ===&lt;br /&gt;
&lt;br /&gt;
==== Bitmap-Eigenschaften ====&lt;br /&gt;
Der Informationsblock beginnt mit folgender Struktur, die die Bitmap-Eigenschaften enthält&amp;lt;ref&amp;gt;[http://msdn.microsoft.com/de-de/library/dd183376(en-us,VS.85).aspx BITMAPINFOHEADER Structure]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://msdn.microsoft.com/de-de/library/dd183391(en-us,VS.85).aspx Bitmap Storage]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot; style=&amp;quot;background:#FFEFD5&amp;quot;| &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BITMAPINFOHEADER&amp;lt;/span&amp;gt; (Größe: 40 Byte)&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;6%&amp;quot; colspan=&amp;quot;2&amp;quot;| Offset (Byte)&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Größe&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Name&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;| Inhalt&lt;br /&gt;
|-&lt;br /&gt;
! Dez&lt;br /&gt;
! Hex&lt;br /&gt;
! Windows-Style&lt;br /&gt;
! C-Style&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| 0E&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biSize&lt;br /&gt;
| Größe der BITMAPINFOHEADER-Struktur in Byte&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 12&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| LONG&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| int32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biWidth&lt;br /&gt;
| Breite der Bitmap in Pixel. Dabei ist das erste Byte niederwertig und das letzte Byte höchstwertig.&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| 16&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| LONG&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| int32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biHeight&lt;br /&gt;
| Der [[Absoluter Betrag|Betrag]] gibt die Höhe der Bitmap in Pixel an. Dabei ist das erste Byte niederwertig und das letzte Byte höchstwertig.&lt;br /&gt;
* Ist der Wert positiv, so ist die Bitmap eine sogenannte &amp;quot;bottom-up&amp;quot;-Bitmap (die Bilddaten beginnen mit der untersten und enden mit der obersten Bildzeile). Dies ist die gebräuchlichste Variante.&amp;lt;ref&amp;gt;https://devblogs.microsoft.com/oldnewthing/20210525-00/?p=105250 Why are device-independent bitmaps upside down? by Raymond Chen&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ist der Wert negativ, so ist die Bitmap eine “top-down”-Bitmap (die Bilddaten beginnen mit der obersten und enden mit der untersten Bildzeile).&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 1A&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| WORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint16_t&lt;br /&gt;
| 2 Byte&lt;br /&gt;
| biPlanes&lt;br /&gt;
| 1 (Stand in einigen älteren Formaten wie [[Picture exchange|PCX]] für die Anzahl der Farbebenen, wird aber für BMP nicht verwendet)&lt;br /&gt;
|-&lt;br /&gt;
| 28&lt;br /&gt;
| 1C&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| WORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint16_t&lt;br /&gt;
| 2 Byte&lt;br /&gt;
| biBitCount&lt;br /&gt;
| Gibt die Farbtiefe der Bitmap in [[Farbtiefe (Computergrafik)|bpp]] an; muss einer der folgenden Werte sein: 1, 4, 8, 16, 24 oder 32. Bei 1, 4 und 8 bpp sind die Farben [[Indizierte Farben|indiziert]].&lt;br /&gt;
|-&lt;br /&gt;
| 30&lt;br /&gt;
| 1E&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biCompression&lt;br /&gt;
| Einer der folgenden Werte:&lt;br /&gt;
* 0 (&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RGB&amp;lt;/span&amp;gt;): Bilddaten sind unkomprimiert.&lt;br /&gt;
* 1 (&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE8&amp;lt;/span&amp;gt;): Bilddaten sind lauflängenkodiert für 8 bpp. Nur erlaubt wenn biBitCount=8 und biHeight positiv.&lt;br /&gt;
* 2 (&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE4&amp;lt;/span&amp;gt;): Bilddaten sind lauflängenkodiert für 4 bpp. Nur erlaubt wenn biBitCount=4 und biHeight positiv.&lt;br /&gt;
* 3 (&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_BITFIELDS&amp;lt;/span&amp;gt;): Bilddaten sind unkomprimiert und benutzerdefiniert (mittels Farbmasken) kodiert. Nur erlaubt wenn biBitCount=16 oder 32.&lt;br /&gt;
|-&lt;br /&gt;
| 34&lt;br /&gt;
| 22&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biSizeImage&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;Wenn biCompression=&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RGB&amp;lt;/span&amp;gt;:&amp;#039;&amp;#039; Entweder 0 oder die Größe der Bilddaten in Byte.&lt;br /&gt;
* &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039; Größe der Bilddaten in Byte.&lt;br /&gt;
|-&lt;br /&gt;
| 38&lt;br /&gt;
| 26&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| LONG&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| int32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biXPelsPerMeter&lt;br /&gt;
| Horizontale Auflösung des Zielausgabegerätes in Pixel pro Meter; wird aber für BMP-Dateien meistens auf 0 gesetzt.&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| 2A&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| LONG&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| int32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biYPelsPerMeter&lt;br /&gt;
| Vertikale Auflösung des Zielausgabegerätes in Pixel pro Meter; wird aber für BMP-Dateien meistens auf 0 gesetzt.&lt;br /&gt;
|-&lt;br /&gt;
| 46&lt;br /&gt;
| 2E&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biClrUsed&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;Wenn biBitCount=1:&amp;#039;&amp;#039; 0.&lt;br /&gt;
* &amp;#039;&amp;#039;Wenn biBitCount=4 oder 8:&amp;#039;&amp;#039; die Anzahl der Einträge der Farbtabelle; 0 bedeutet die maximale Anzahl (2, 16 oder 256).&lt;br /&gt;
* &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039; Die Anzahl der Einträge der Farbtabelle (0=keine Farbtabelle). Auch wenn sie in diesem Fall nicht notwendig ist, kann dennoch eine für die [[Quantisierung (Signalverarbeitung)|Farbquantisierung]] empfohlene Farbtabelle angegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| 50&lt;br /&gt;
| 32&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| DWORD&lt;br /&gt;
|style=&amp;quot;font-family:monospace&amp;quot;| uint32_t&lt;br /&gt;
| 4 Byte&lt;br /&gt;
| biClrImportant&lt;br /&gt;
|&lt;br /&gt;
* &amp;#039;&amp;#039;Wenn biBitCount=1, 4 oder 8:&amp;#039;&amp;#039; Die Anzahl sämtlicher im Bild verwendeten Farben; 0 bedeutet alle Farben der Farbtabelle.&lt;br /&gt;
* &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;Wenn eine Farbtabelle vorhanden ist und diese sämtliche im Bild verwendeten Farben enthält:&amp;#039;&amp;#039; deren Anzahl.&lt;br /&gt;
** &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039; 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Farbmasken ====&lt;br /&gt;
Wenn biCompression=&amp;lt;code&amp;gt;BI_BITFIELDS&amp;lt;/code&amp;gt;, dann folgen 3 &amp;lt;code&amp;gt;DWORD&amp;lt;/code&amp;gt;s, die [[Bitmaske]]n für die Rot-, Grün- und Blauwerte enthalten. Gesetzte Bits bedeuten, dass in den Daten eines Pixels jenes Bit für den jeweiligen [[Farbkanal]] verwendet wird. Dabei müssen folgende Bedingungen erfüllt sein:&lt;br /&gt;
* gesetzte Bits müssen direkt nacheinander folgen;&lt;br /&gt;
* für 16 bpp müssen sich die gesetzten Bits in den beiden niederwertigen Bytes befinden;&lt;br /&gt;
* die Bitmasken der einzelnen Farbkanäle dürfen einander nicht überlappen.&lt;br /&gt;
&lt;br /&gt;
==== Farbtabelle ====&lt;br /&gt;
* &amp;#039;&amp;#039;Wenn biClrUsed=0:&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;Wenn biBitCount=1, 4 oder 8:&amp;#039;&amp;#039; Es folgt eine Farbtabelle mit 2&amp;lt;sup&amp;gt;biBitCount&amp;lt;/sup&amp;gt; Einträgen.&lt;br /&gt;
** &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039; Es folgt keine Farbtabelle.&lt;br /&gt;
* &amp;#039;&amp;#039;Ansonsten:&amp;#039;&amp;#039; Es folgt eine Farbtabelle mit biClrUsed Einträgen.&lt;br /&gt;
&lt;br /&gt;
Jeder Eintrag der Farbtabelle ist 4 Byte groß und enthält jeweils ein Byte für den Blau-, Grün- und Rotanteil, sowie ein auf 0 gesetztes Byte (in dieser Reihenfolge!).&lt;br /&gt;
&lt;br /&gt;
=== Bilddaten ===&lt;br /&gt;
Die Bilddaten beginnen am Offset bfOffBits. Die Größe der Bilddaten beträgt näherungsweise (gilt nur für durch 4 teilbare Bildbreiten) biWidth×biHeight×biBitCount/8 wenn biCompression=&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RGB&amp;lt;/span&amp;gt;, ansonsten biSizeImage.&lt;br /&gt;
&lt;br /&gt;
Die Bilddaten werden Zeile für Zeile gespeichert. Wenn biHeight positiv ist, beginnen die Bilddaten mit der letzten und enden mit der ersten Bildzeile, ansonsten ist es umgekehrt. Bei &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_BITFIELDS&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039; und bei &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RGB&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039; ist die Länge jeder Zeile ein Vielfaches von 4 Bytes und wird, falls erforderlich, mit Nullbytes aufgefüllt.&lt;br /&gt;
&lt;br /&gt;
Das weitere Format der Bilddaten hängt vom Wert des biCompression-Felds ab:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_BITFIELDS&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Jede Bildzeile ist durch rechtsseitiges Auffüllen mit Nullen auf ein ganzzahliges Vielfaches von 4 Bytes ausgerichtet. Das Format der Pixel ist in den Farbmasken definiert. Bei 16 bpp werden nur die beiden niederwertigen Bytes der Farbmasken berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RGB&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Jede Bildzeile ist durch rechtsseitiges Auffüllen mit Nullen auf ein ganzzahliges Vielfaches von 4 Bytes ausgerichtet.&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;1, 4 oder 8 bpp:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Die Daten jedes Pixels bestehen aus einem 0-basierten Index auf den Eintrag in der Farbtabelle.&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;16 bpp:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Das Format ist wie bei &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_BITFIELDS&amp;lt;/span&amp;gt;, wenn folgende Farbmasken verwendet würden:&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x00007C00&amp;lt;/span&amp;gt; für den Rot-Kanal&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x000003E0&amp;lt;/span&amp;gt; für den Grün-Kanal&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x0000001F&amp;lt;/span&amp;gt; für den Blau-Kanal&lt;br /&gt;
: Jeder Farbkanal ist 5 Bit pro Pixel groß; insgesamt ergeben sich 32.768 mögliche Farben (ein Bit ist ungenutzt).&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;24 bpp:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Die Daten jedes Pixels bestehen aus jeweils einem Byte für den Blau-, Grün- und Rot-Kanal (in dieser Reihenfolge!).&lt;br /&gt;
&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;32 bpp:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Das Format ist wie bei &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_BITFIELDS&amp;lt;/span&amp;gt;, wenn folgende Farbmasken verwendet würden:&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x00FF0000&amp;lt;/span&amp;gt; für den Rot-Kanal&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x0000FF00&amp;lt;/span&amp;gt; für den Grün-Kanal&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0x000000FF&amp;lt;/span&amp;gt; für den Blau-Kanal&lt;br /&gt;
: Jeder Farbkanal ist 8 Bit pro Pixel groß; insgesamt ergeben sich 16.777.216 mögliche Farben (8 Bit sind ungenutzt). Einige Programme wie etwa [[Adobe Photoshop]] interpretieren die verbleibenden 8 Bits (&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;0xFF000000&amp;lt;/span&amp;gt;) als [[Alphakanal]] mit 256 möglichen Transparenzstufen. Dies ist jedoch von der Spezifikation nicht vorgesehen.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE8&amp;lt;/span&amp;gt; und &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE4&amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Jeweils zwei aufeinanderfolgende Bytes bilden einen Datensatz. Hat das erste Byte einen anderen Wert als 0, so wird das zweite Byte so oft (bei &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE4&amp;lt;/span&amp;gt;: die nächsten 2 [[Nibble]]s insgesamt, Beispiel: 05 67 → 6 7 6 7 6) wiederholt, wie das erste Byte angibt. Hat das erste Byte hingegen den Wert 0, so hängt die Bedeutung vom zweiten Byte ab:&lt;br /&gt;
{| class=&amp;quot;toptextcells&amp;quot; style=&amp;quot;margin-left:2em&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;0:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Ende der Bildzeile.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;1:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Ende der Bitmap.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;2:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Verschiebung der aktuellen Pixelposition. Die beiden nächsten Bytes geben die Verschiebung nach rechts und nach unten an.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;=3-255:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Die folgenden &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Bytes (bei &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;BI_RLE4&amp;lt;/span&amp;gt;: die folgenden &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Nibbles) werden direkt übernommen; der nächste Datensatz findet sich am darauffolgenden geraden Offset (vom Start der Bilddaten aus gezählt).&lt;br /&gt;
|}&lt;br /&gt;
: Das Resultat wird wie im unkomprimierten Fall interpretiert.&lt;br /&gt;
&lt;br /&gt;
== Vor- und Nachteile ==&lt;br /&gt;
Vorteile von Bitmaps sind unter anderem:&amp;lt;ref&amp;gt;[http://www.fileformat.info/mirror/egff/ch03_08.htm &amp;#039;&amp;#039;Pros and Cons of Bitmap File Formats&amp;#039;&amp;#039;] In: James D. Murray, William VanRyper: &amp;#039;&amp;#039;Encyclopedia of Graphics File Formats.&amp;#039;&amp;#039; 2. Auflage. O’Reilly &amp;amp; Associates, Bonn 1996, ISBN 1-56592-161-5.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Die einfache Erstellung aus bereits im [[Arbeitsspeicher]] des Computers vorhandenen Pixeldaten.&lt;br /&gt;
* Der effiziente und simple Zugriff auf die Bilddaten auf Grund ihrer rasterartigen Anordnung.&lt;br /&gt;
* Eine Änderung der Farbinformation durch Änderung einer eventuell vorhandenen Palette ist möglich, ohne die Bilddaten selber zu ändern.&lt;br /&gt;
* Die einfache Ausgabe auf rasterbasierte Ausgabegeräte wie Monitore oder Drucker.&lt;br /&gt;
&lt;br /&gt;
Nachteile von Bitmaps sind unter anderem:&lt;br /&gt;
* Die große Dateigröße im Vergleich zu komprimierten Formaten.&lt;br /&gt;
* Sofern die übliche Zeilenanordnung gewählt wird, steht das Bild – verglichen mit der Zeilenfolge auf einem üblichen [[Bildschirm]] – auf dem Kopf&amp;lt;ref&amp;gt;[https://docs.microsoft.com/en-us/windows/win32/directshow/top-down-vs--bottom-up-dibs Bitmap Storage]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Versionen 4 und 5 ==&lt;br /&gt;
[[Microsoft]] hat mit [[Microsoft Windows 95|Windows 95]] und [[Microsoft Windows 98|Windows 98]] neuere Versionen 4 und 5 des BMP-Formates eingeführt, die [[Alphakanal|Alphakanäle]] und [[Farbkorrektur]] ermöglichen und als [[Containerformat]] für [[Portable Network Graphics|PNG]]- und [[JPEG File Interchange Format|JFIF]]-Dateien verwendet werden können. Diese neuen Formate sind jedoch nur sehr selten als eigenständige Dateien anzutreffen und werden kaum von Anwendungen unterstützt; sie finden eher als internes Format in Windows-Programmen Verwendung.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[Wireless Application Protocol Bitmap Format]] (WBMP)&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Thomas W. Lipp: &amp;#039;&amp;#039;Grafikformate.&amp;#039;&amp;#039; Microsoft Press, Unterschleißheim 1997, ISBN 3-86063-391-0.&lt;br /&gt;
* John Miano: &amp;#039;&amp;#039;Compressed Image File Formats.&amp;#039;&amp;#039; Addison-Wesley, Reading 2000, ISBN 0-201-60443-4.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://msdn.microsoft.com/de-de/library/dd183392%28en-us,VS.85%29.aspx Spezifikation aus dem Microsoft Platform SDK]&lt;br /&gt;
* [http://www.kalytta.com/bitmap.h Einfache C++-Klasse zum Laden einer Windows Bitmap]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grafikformat]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Trustable</name></author>
	</entry>
</feed>