画像形式

BMP

複数のDIBヘッダーバージョンを持つWindowsのラスター保存形式です。単純な非圧縮画素が一般的ですが、アルファや圧縮の扱いは異なります。

形式を詳しく見る

BMPから変換

BMP画像の変換先の形式を選択します。

すべての変換(22)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

BMPに変換

BMPに変換する元の形式を選択します。

すべての変換(37)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

BMPについて

Windowsビットマップ画像

BMPはWindowsのデバイスに依存しないビットマップをファイルに保存します。ファイルヘッダーが画素配列の位置を示し、DIB情報ヘッダーが画像サイズ、色深度、符号化を記述します。パレット形式と直接色形式が異なる表示システムに対応します。拡張子だけで判断せず、実際のヘッダーに従って読み取る必要があります。

非圧縮配列は単純ですが、大きくなることがあります。種類によってはRLE、ビットマスク、埋め込みの圧縮データを使います。32ビットのビットマップだからといってアルファを使えるとは限りません。通常のBI_RGBの上位バイトは未使用の場合があり、拡張ヘッダーではアルファマスクや、V5のプロファイルデータなどの色情報を指定できます。

BMPはWindowsのビットマップの交換、診断、画素配列を直接扱うツールに使ってください。同じ描画済み画素の交換なら、PNGの方が小さくなることが多いです。変換時は行の向き、パディング、色のマスクを確認してください。すべてのBMPを単一の24ビット構造として扱うと、色が誤ったり画像が上下逆になったりします。

主な特性

圧縮
種類によって異なります
透明度
対応
アニメーション
非対応
拡張子
.bmp
MIMEタイプ
image/bmp
メタデータ
DIBヘッダー, ICC (V5)
適した用途
Windowsのビットマップ交換
色深度
1 / 4 / 8 / 16 / 24 / 32 bpp
カラープロファイル
V5ヘッダー

BMPは非圧縮の場合も、ヘッダーで選択された符号化を使う場合もあります。アルファの扱いはヘッダーによって異なり、32ビットというだけでは受け取り側のアプリケーションの透過対応を保証しません。

BMPの歴史

BMPの発展は、単一の汎用的な圧縮仕様の改訂ではなく、Windowsのビットマップヘッダー構造に記録されています。

  1. Windows DIB

    デバイスに依存しないビットマップ

    Windowsは、ヘッダー、任意のカラーテーブル、画素データで、デバイスに依存しないビットマップのファイル保存を定義しています。保存されるラスター情報を特定の表示デバイスから切り離します。

  2. 拡張ヘッダー

    明示的な色のマスク

    拡張ビットマップヘッダーでは、暗黙の配置だけに頼らず、色のマスクとアルファを記述します。読み取り側は、これらの構造を単純なRGBビットマップヘッダーと区別する必要があります。

  3. BITMAPV5HEADER

    カラーマネジメント

    V5構造にはレンダリングインテントと、プロファイルの位置およびサイズが追加されました。Microsoftは埋め込みプロファイルとリンクされたプロファイルを記述し、生のチャンネル値を超えてビットマップの解釈を拡張しています。

BMPとほかの形式の比較

形式ごとに利点と制約が異なります。画像と作業の目的に合わせて選択してください。

PNG

BMPとPNGの比較

PNGはデコード後の画素を可逆圧縮で保持し、アルファチャンネルも格納できます。透過画像やスクリーンショットに適していますが、編集可能な文書のレイヤーやカメラのセンサーデータは保持できず、写真ではファイルが大きくなることがあります。

TIFF

BMPとTIFFの比較

TIFFはタグを使うラスター形式で、複数の画像やさまざまな画素値の型、圧縮方式を格納できます。スキャンや高精度編集での交換に便利ですが、受け取り側のツールがそのTIFFの種類に対応している必要があります。

JPEG

BMPとJPEGの比較

JPEGは写真の配布用ファイルを小さくできますが、通常のJPEGでは細部が失われ、アルファチャンネルも使えません。編集用には情報量の多い元ファイルを残し、受け取り側が不透明な写真を必要とする場合にJPEGを使ってください。

PCX

BMPとPCXの比較

PCXはPaintbrush時代のソフトウェアや、色の成分を別々の面に保存するラスター形式との互換性を保つ場合に便利です。RLEやパレットの規則に対応するデコードが必要です。こうした古い処理系以外で描画済み画像を交換する場合は、通常PNGの方が扱いやすいです。

BMPについてのよくある質問

この形式には何が保存されますか?

BMPはWindowsのデバイスに依存しないビットマップをファイルに保存します。ファイルヘッダーが画素配列の位置を示し、DIB情報ヘッダーが画像サイズ、色深度、符号化を記述します。パレット形式と直接色形式が異なる表示システムに対応します。拡張子だけで判断せず、実際のヘッダーに従って読み取る必要があります。

圧縮は画質にどう影響しますか?

BMPは非圧縮の場合も、ヘッダーで選択された符号化を使う場合もあります。アルファの扱いはヘッダーによって異なり、32ビットというだけでは受け取り側のアプリケーションの透過対応を保証しません。

32ビットBMPはすべて透過画像ですか?

いいえ。追加のバイトは未使用の場合があります。マスクとヘッダーのバージョンを読み取り、アプリケーションが指定されたアルファの規則を使うことを確認してください。

ファイルを開く前に何を確認すればよいですか?

DIBヘッダーのサイズ、圧縮識別子、色のマスクを確認してください。基本的なビットマップ読み取りツールでは、V5プロファイルを無視したり、一般的でない符号化を拒否したりする場合があります。

別の形式に書き出すと何が変わりますか?

可逆形式への書き出しで解釈後の画素は保持できますが、DIBのすべての属性は保持できません。パレット形式やグレースケール形式では色情報が減ります。JPEGでは非可逆圧縮が加わり、不透明な背景が必要です。

この形式はどのような用途に適していますか?

BMPはWindowsのビットマップの交換、診断、画素配列を直接扱うツールに使ってください。同じ描画済み画素の交換なら、PNGの方が小さくなることが多いです。変換時は行の向き、パディング、色のマスクを確認してください。すべてのBMPを単一の24ビット構造として扱うと、色が誤ったり画像が上下逆になったりします。

参考資料