BMP
読み: ビットマップ
Windows 標準の無圧縮ラスター画像形式。ピクセルデータをそのまま格納するためファイルサイズが大きいが、処理が高速である。
BMP (Bitmap Image File) は、Microsoft が Windows 環境向けに設計したラスター画像形式である。ピクセルの色情報を原則として無圧縮で格納するため、画像の読み書きが極めて高速である反面、ファイルサイズは他の形式と比較して非常に大きくなる。1920x1080 の 24 ビットカラー画像で約 6 MB に達する。
ファイル構造はヘッダー部とピクセルデータ部で構成される。ヘッダーには画像の幅・高さ・色深度・圧縮方式などのメタ情報が格納され、ピクセルデータは通常ボトムアップ (画像の下端から上端へ) の走査順で並ぶ。各行は 4 バイト境界にパディングされる。
- 色深度: 1 ビット (白黒)、4 ビット (16 色)、8 ビット (256 色)、16 ビット、24 ビット (トゥルーカラー)、32 ビット (アルファ付き) に対応
- RLE 圧縮: オプションで Run-Length Encoding を適用できるが、実用上ほとんど使われない
- DIB 互換: Windows の GDI (Graphics Device Interface) と直接互換性があり、デバイスコンテキストへの描画が高速
Web 配信には不向きだが、画像処理プログラムの中間形式やスクリーンキャプチャの一時保存、組み込みシステムのフレームバッファ出力など、圧縮・展開のオーバーヘッドを避けたい場面で利用される。Python の Pillow や C の stb_image など、ほぼすべての画像ライブラリが BMP の読み書きに対応している。