BMP

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
Line 35: Line 35:
 
Windows CE also extended it, for example to allow 2 bits/pixel, but its extensions were not migrated to the BMP v4 and v5 formats.
 
Windows CE also extended it, for example to allow 2 bits/pixel, but its extensions were not migrated to the BMP v4 and v5 formats.
  
If the compression type is 3 and the bit depth is 1, or the compression type is 4 and the bit depth is 24, then the file should be processed as an OS/2 2.0 BMP.
+
If the compression type is 3 and the bit depth is 1, or the compression type is 4 and the bit depth is 24, then the file should be processed as OS/2 BMP 2.0.
  
 
=== Windows BMP v4 ===
 
=== Windows BMP v4 ===
Line 41: Line 41:
 
* Info header name: BITMAPV4HEADER
 
* Info header name: BITMAPV4HEADER
 
* PRONOM: {{PRONOM|fmt/118}}
 
* PRONOM: {{PRONOM|fmt/118}}
 +
 +
Introduced with Windows 95.
  
 
=== Windows BMP v5 ===
 
=== Windows BMP v5 ===
Line 59: Line 61:
 
* PRONOM: {{PRONOM|x-fmt/270}}
 
* PRONOM: {{PRONOM|x-fmt/270}}
  
See [[OS/2 BMP]].
+
See also [[OS/2 BMP]].
 +
 
 +
OS/2 BMP 2.0 defines several file subtypes; here we are describing only the "Bitmap" subtype (files with a signature of "BM").
 +
 
 +
The header size can be reduced from its full size of 64 bytes. Omitted fields are assumed to have a value of zero.
 +
 
 +
The fields in the first 40 bytes of the header are (nearly) identical to those in Windows BMP v3, v4, and v5. The remaining fields are different.
 +
 
 +
OS/2 BMP 2.0 supports compression algorithms "Huffman 1D" and "RLE24", which no other version of BMP does.
  
 
=== BITMAPV2INFOHEADER ===
 
=== BITMAPV2INFOHEADER ===
Line 85: Line 95:
 
* [http://entropymine.com/jason/bmpsuite/bmpsuite/html/bmpsuite.html BMP Suite Image List]
 
* [http://entropymine.com/jason/bmpsuite/bmpsuite/html/bmpsuite.html BMP Suite Image List]
  
== References ==
+
== Resources ==
 
* [http://en.wikipedia.org/wiki/BMP_%28file_format%29 BMP (file format): Wikipedia]
 
* [http://en.wikipedia.org/wiki/BMP_%28file_format%29 BMP (file format): Wikipedia]
 
* [http://www.digitalpreservation.gov/formats/fdd/fdd000189.shtml Bitmap Image File (BMP), Version 5, from Library of Congress resource on Sustainability of Digital Formats]
 
* [http://www.digitalpreservation.gov/formats/fdd/fdd000189.shtml Bitmap Image File (BMP), Version 5, from Library of Congress resource on Sustainability of Digital Formats]
 
* [http://www.fileformat.info/format/bmp/egff.htm Microsoft Windows Bitmap File Format Summary] From Encyclopedia of Graphics File Formats at FileFormat.Info (1996)
 
* [http://www.fileformat.info/format/bmp/egff.htm Microsoft Windows Bitmap File Format Summary] From Encyclopedia of Graphics File Formats at FileFormat.Info (1996)
 +
* [http://www.fileformat.info/format/os2bmp/egff.htm OS/2 Bitmap File Format Summary] From Encyclopedia of Graphics File Formats at FileFormat.Info (1996)
  
 
[[Category:Microsoft]]
 
[[Category:Microsoft]]

Revision as of 05:25, 7 March 2013

File Format
Name BMP
Ontology
Extension(s) .bmp
.dib
.rle
PRONOM fmt/116, others

Contents

Overview

BMP is a family of simple raster graphics image file formats designed to store bitmap digital images independently of a display device. BMP was originally and is primarily used on Microsoft Windows and OS/2 operating systems. The format is sometimes known as Device-Independent Bitmap (DIB), since, when loaded into memory using Windows software, the image is held as a DIB structure.

Identification

No MIME type has been officially registered. Strings found in practice are: image/bmp; image/x-bmp; image/x-ms-bmp

The standard file extension is .bmp. Reportedly, .dib and .rle have occasionally been used.

BMP files start with bytes 'B' 'M' ?? ?? 00 00 00 00.

Well-known versions

Unless otherwise indicated, BMP files all use a common 14-byte file header, named BITMAPFILEHEADER. Following that is the "Info header", which begins with a 4-byte integer indicating its size. The Info header size (mostly) reveals the version of BMP that the file uses.

Windows BMP v2

  • Info header size: 12
  • Info header name: BITMAPCOREHEADER or OS21XBITMAPHEADER
  • PRONOM: fmt/115

Also known as OS/2 BMP 1.0.

Windows BMP v3

  • Info header size: 40
  • Info header name: BITMAPINFOHEADER
  • PRONOM: fmt/116, fmt/117

This is by far the most widely used version of BMP. It was introduced with Windows 3.x. Windows NT extended it to support 16 and 32 bits/pixel.

Windows CE also extended it, for example to allow 2 bits/pixel, but its extensions were not migrated to the BMP v4 and v5 formats.

If the compression type is 3 and the bit depth is 1, or the compression type is 4 and the bit depth is 24, then the file should be processed as OS/2 BMP 2.0.

Windows BMP v4

  • Info header size: 108
  • Info header name: BITMAPV4HEADER
  • PRONOM: fmt/118

Introduced with Windows 95.

Windows BMP v5

  • Info header size: 124
  • Info header name: BITMAPV5HEADER
  • PRONOM: fmt/119

Other versions

Windows BMP v1

This is the bitmap file format used by Windows 1.0. It's not really a BMP format. It has a 10-byte file header, and is also called "DDB" (Device-Dependent Bitmap).

OS/2 BMP 2.0

  • Info header size: 16–64 (16, 40, 48, and 64 may be most common)
  • Info header name: BITMAPCOREHEADER2 or OS22XBITMAPHEADER
  • PRONOM: x-fmt/270

See also OS/2 BMP.

OS/2 BMP 2.0 defines several file subtypes; here we are describing only the "Bitmap" subtype (files with a signature of "BM").

The header size can be reduced from its full size of 64 bytes. Omitted fields are assumed to have a value of zero.

The fields in the first 40 bytes of the header are (nearly) identical to those in Windows BMP v3, v4, and v5. The remaining fields are different.

OS/2 BMP 2.0 supports compression algorithms "Huffman 1D" and "RLE24", which no other version of BMP does.

BITMAPV2INFOHEADER

  • Info header size: 52
  • Info header name: BITMAPV2INFOHEADER

No details known.

BITMAPV3INFOHEADER

  • Info header size: 56
  • Info header name: BITMAPV3INFOHEADER

No details known.

Specifications

Sample images

Resources

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox