Windows bitmap拡張子:.bmp
MIME Type:image/x-ms-bmp(非公式)
タイプコード:'BMP '
'BMPf'
'BMPp'
UTI:com.microsoft.bmp
開発者:マイクロソフト
種別:ビットマップ画像
BMP(ビーエムピー、Microsoft Windows Bitmap Image)またはDIB(ディーアイビー、Device Independent Bitmap、デバイス独立ビットマップ)は、マイクロソフトとIBMがWindowsとOS/2にわかれる前のOSを共同で開発していたころに作られた画像ファイル形式。圧縮の方法についても定義されているが、Windowsが標準では無圧縮のファイルを生成するため、他のアプリケーションにおいても、無指定時は、圧縮はされていない場合が多い。
ファイル形式の細部の変更が何度か行われており、その結果としてWindowsとOS/2で多少ファイル形式が異なることがある。
機械独立のファイル形式として設計されたため、実際に存在する画像表示装置や、印刷装置が、画像を上方から処理するものがほぼ全てであるにもかかわらず、幾何学的なX軸、Y軸方向に座標を指定する形式となっている。その結果、画像を下から上に向かって記録している (Bottom up)のが特徴であるが、後に高さに負の値を指定することでその他大多数の画像ファイル形式と同じように画像を上から下へ向かって記録する (Top down)こともできるようになった。しかし互換性の面からProgramming Windowsではトップダウン形式のビットマップの作成を推奨していない。
目次
1 ファイル構造
1.1 主な構造
1.1.1 OS/2 1.1
1.1.2 OS/2 2.x
1.1.3 Windows 3.0以降
1.1.4 Windows 95以降採用
1.1.5 Windows 98以降採用
1.2 ファイルヘッダ
1.2.1 BITMAPFILEHEADER
1.3 情報ヘッダ
1.3.1 BITMAPCOREHEADER
1.3.2 BITMAPINFOHEADER
1.3.3 BITMAPINFOHEADER2
1.3.4 BITMAPV4HEADER
1.3.5 BITMAPV5HEADER
1.4 カラーパレット
1.4.1 RGBTRIPLE
1.4.2 RGBQUAD
1.5 ビットマップデータ
2 関連項目
//
ビットマップファイルは、以下のブロックに分かれている。
ファイルヘッダ
ビットマップファイルについての一般的な情報が格納されている。
情報ヘッダ
ビットマップイメージについての詳細な情報が格納されている。
カラーパレット
使用される色の定義が格納されている。
ビットマップデータ
実際のイメージがピクセルごとに格納されている。
BITMAPFILEHEADER構造体
BITMAPCOREHEADER構造体
RGBTRIPLE構造体(インデックスカラー時)
画像データ
BITMAPFILEHEADER2構造体
BITMAPINFOHEADER2構造体
(要加筆) ⇒[1](インデックスカラー時)
画像データ
この節は執筆中です。加筆、訂正して下さる協力者を求めています。
BITMAPFILEHEADER構造体
BITMAPINFOHEADER構造体
RGBQUAD構造体(インデックスカラー時)
画像データ
BITMAPFILEHEADER構造体
BITMAPV4HEADER構造体
RGBQUAD構造体(インデックスカラー時)
画像データ
BITMAPFILEHEADER構造体
BITMAPV5HEADER構造体
RGBQUAD構造体(インデックスカラー時)
画像データ
14byteからなる、ビットマップファイルのファイルヘッダである。
バイト数情報値・備考
2 byte識別子BM
4 byteファイルサイズ単位 byte
2 byte予約領域10
2 byte予約領域20
4 byteオフセットビットマップデータの開始位置(byte)
このブロックは、アプリケーションが画像を描画するための画像の詳細な情報が書かれており、14バイト目から始まる。
14-17(eh-11h)バイト目は、ヘッダのサイズが書かれている。値は、
40 - Windows V3108 - Windows V4124 - Windows V512 - OS/2 V164 - OS/2 V2
OS/2のビットマップで使われる情報ヘッダで、12バイトある。
バイト数情報値・備考
4 byteヘッダサイズ12
2 byte画像の横幅単位 pixel
2 byte画像の縦幅単位 pixel
2 byteプレーン数1
2 byteビット数1,4,8,24
Windowsのビットマップで使われる情報ヘッダで、40バイトある。多くのビットマップがこの形式で保存されている。
バイト数情報値・備考
4 byteヘッダサイズ40
4 byte画像の横幅単位 pixel
4 byte画像の縦幅単位 pixel
2 byteプレーン数1
2 byteビット数0,1,4,8,16,24,32
4 byte圧縮形式0,1,2,3,4,5※1
4 byte画像データサイズ画像データ部分のサイズ(byte)
4 byte水平方向の解像度単位:pixel / m
4 byte垂直方向の解像度単位:pixel / m
4 byte使用する色数
4 byte重要な色数
OS/2 V2以降対応した、新しい情報ヘッダで、64byteある。 ⇒[2] この節は執筆中です。加筆、訂正して下さる協力者を求めています。
Windows 95、Windows NT 4.0から対応した新しい情報ヘッダ。
バイト数情報値・備考
4 byteヘッダサイズ108