PNGをBMPに変換
古いWindowsソフト、インストーラー作成ツール、小型マイコンボードのディスプレイ用ライブラリなど、いまもビットマップしか読み込めないソフトウェアがあります。PNGをそれらが受け付ける非圧縮のBMPに変換し、透明部分を埋める色も指定できます。
画像変換
またはJPG, JPEG, JPE … ファイルをここにドロップ ·
1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除
ファイルは当社のサーバーで処理され、30分後に削除されます。
85 なら写真は元の画像と見た目がほぼ変わりません。ファイルを小さくしたいときだけ下げてください。
JPG、BMP、EPS は透過に対応していません。透明な部分はこの色で塗りつぶされます。
透明な部分の背景に使う16進カラーです(例: #FFFFFF)。
この形式には 1 枚の画像しか保存できません。アニメーションを残すには GIF または WebP を選んでください。
マルチサイズのアイコンは 1 つのファイルに複数の解像度を含み、ブラウザや OS が必要なサイズを選びます。
元のサイズを維持するか、片方の辺を入力すると縦横比を保ったままサイズ変更します。
上で選んだ辺のピクセル数です。
元のサイズに対する割合です。
画面や Web には sRGB が適しています。印刷用途では元の色空間を維持してください。グレースケールにすると色情報は失われます。
メタデータのみ変更します。0 なら元の値を維持します。プリンターや一部のサイトがこの値を読み取りますが、ピクセル数は変わりません。
このツールの使い方
- 1
PNGファイルをドロップする
パソコンから、またはコピーした画像を貼り付けて、PNGを1ファイル95 MBまで、最大20枚追加します。
- 2
背景色を選ぶ
ここで出力するBMPは透明をサポートしないため、透明部分は白が初期値です。ビットマップを置く画面やダイアログに合わせて、詳細設定で黒またはカスタムカラーを選んでください。
- 3
「BMPに変換」を押す
各.bmpファイルを個別に、またはZIPにまとめて1つでダウンロードできます。アップロードしたファイルと変換結果は30分後に削除されます。
ソフトがビットマップを要求するときは、PNGをBMPに変換します。ピクセルは同一のまま、透明部分は単色になり、BMPは無圧縮なのでファイルは大きくなります。
PNGをBMPに変換する必要があるのはどんな場合か
BMPはMicrosoftのビットマップ形式で、現在の構造は1990年のWindows 3.0に由来します。54バイトのヘッダーの後ろにほぼ生のピクセルが続くだけなので、デコード用ライブラリなしで読み込めます。この単純さのおかげで、PNGに対応しなかった環境でも今なお使われています。
代表例がインストーラー作成ツールです。たとえばNSISは、Modern UIウィザードのヘッダー画像とウェルカム画像に.bmpファイルを求めます。古いVisual BasicやWin32のプログラムは、ビットマップを読むWindows関数でスプラッシュ画面やツールバー画像を読み込みます。小型のTFTや電子ペーパーを使うマイコンのプロジェクトでは、PNGのデコードにボードにないメモリが必要なため、SDカードから24ビットBMPを読み込みます。
出力先に必要なのがビットマップではなくWindowsのアイコンなら、代わりにPNGをICOに変換してください。アイコンは透明を保て、1ファイルに複数サイズを収められます。
BMPファイルの容量:非圧縮時のサイズ
6.2 MB1920 × 1080の画像を24ビットBMPで保存した場合。絵が単純でも同じ
PNG
Portable Network Graphics
PNG は、1996年に PNG Development Group が公開し、のちに W3C と ISO が標準化した可逆のラスター形式です。すべてのピクセルを正確に保持し、完全なアルファ透明に対応し、文字、シャープな輪郭、単色の面をノイズなく扱えます。この正確さから、スクリーンショット、ロゴ、アイコン、UI グラフィックに最適です。代償はサイズで、PNG で保存した写真は、同じ写真の JPEG や WebP の数倍になることがよくあります。すべてのブラウザ、OS、編集ソフトで PNG を開けます。
- 圧縮方式
- 可逆
- 透過
- 対応
- アニメーション
- 非対応
- 登場時期
- 1996 · PNG Development Group
BMP
ビットマップ画像
BMPは、Windowsの初期バージョンから標準で使われている、Microsoftのデバイス非依存ビットマップ形式です。通常はピクセルを非圧縮で保存するため、画質は完璧ですが、PNGやJPEGに比べてファイルが非常に大きくなります。新しいバージョンのBMPはアルファチャンネルを持てますが、多くのプログラムは無視します。読み書きが簡単なため、古いソフトウェア、組み込みシステム、一部の産業用ツールで使われ続けています。Windows、macOS、ほぼすべての画像編集ソフトでBMPファイルを開けます。
- 圧縮方式
- 可逆
- 透過
- 対応
- アニメーション
- 非対応
- 登場時期
- Microsoft
PNGをBMPにするのは、特定のプログラム、インストーラー、組み込みディスプレイが通常のWindowsビットマップしか読めないからです。サイズや画質のためにBMPを選ぶ人はおらず、逆方向の変換はそのビットマップを再び小さくするためのものです。
BMPとPNGの比較:得るものと失うもの
BMPの利点
- 展開用ライブラリなしで読み込める
- ピクセル値がPNGと同一
- 古いWindows APIやインストーラーで使える
- サイズを予測しやすい(幅 × 高さ × 1ピクセルのバイト数)
失うもの
- ファイルがPNGの何倍も大きい
- 透明部分が単色に置き換わる
- 多くのリーダーでテキストメタデータやカラープロファイルが使えない
- JPGやPNGを求める多くのアップロードフォームで受け付けられない
適切なサイズと背景色でPNGをBMPに変換する
BMPは生の行データとして保存されるため、圧縮よりもサイズが重要です。出力画像のサイズ変更で、出力先が求める正確な寸法(NSISのウェルカム画像なら164 × 314 px、ディスプレイならその解像度など)に設定すると、プログラム側で引き伸ばしや切り取りが起きません。
透明なロゴは、ビットマップを置く場所の背景色を選んでください。明るいグレーのダイアログに真っ白の四角が付くと不自然なので、カスタムカラーに正確な16進値を入力します。ファームウェア用にフォルダごと変換する場合も、20ファイルずつまとめて1回で処理できます。軽いコピーが必要になったら、BMPをPNGに変換で元に戻せます。
PNGからBMPへの変換に関する質問
BMPがPNGよりずっと大きくなるのはなぜですか?
標準的なBMPは全ピクセルを無圧縮で保存します。24ビットでは1ピクセルあたり3バイトで、各行が4バイトの倍数になるようパディングが入ります。PNGは同じピクセルをDeflateで圧縮するため、単色部分の多いグラフィックは大きく小さくなります。PNGで20 KBのロゴがBMPで数百KBになることも珍しくなく、これは正常です。
PNGをBMPに変換すると画質は落ちますか?
ピクセルは一切変更されません。どちらも可逆形式で、24ビットBMPは一般的なPNGと同じ1チャンネル8ビットを保持します。変わるのは透明部分だけで、選んだ背景色に置き換えられます。
BMPファイルで背景を透明にできますか?
仕様上はアルファチャンネル付きの32ビット形式もありますが、ペイント、ほとんどのWindows API、BMPを求めるほぼすべてのプログラムはアルファを無視し、黒や乱れた表示になります。そのため、このコンバーターでは透明部分を選んだ単色に置き換えて書き出します。
ArduinoやESP32のディスプレイにはどのBMP形式が必要ですか?
AdafruitのTFT用ImageReaderをはじめ、多くの表示ライブラリはSDカード上の無圧縮24ビットBMPを読み込みます。このコンバーターが出力するのもこの形式です。ボード側では拡大縮小できないため、先に出力画像のサイズ変更で画面の解像度(例: 320 × 240 px)ちょうどにしてください。
BMPとDIBの違いは何ですか?
DIBはdevice-independent bitmap(デバイス非依存ビットマップ)の略で、Windowsがバージョン3.0から使っているメモリ上の形式です。.bmpファイルは、DIBの前に14バイトのファイルヘッダーを付けただけのものなので、DIBや.dibファイルを求めるプログラムでもBMPを受け付けます。
WebサイトやメールにBMPを使うべきですか?
いいえ。ブラウザはBMPを表示できますが、見た目は変わらないのにファイルはPNGやJPGの何倍も重くなります。BMPは必要とするプログラム用だけにして、それ以外ではPNGをJPGに変換したものや元のPNGを使ってください。
| JPGをBMPに変換 | WebPをBMPに変換 | PDFをBMPに変換 |
| BMPをPNGに変換 | PNGをICOに変換 | 画像変換 |