PNGファイルをアップロード
最大5MBのファイルを3個まで変換できます
PNGファイルをアップロード
登録して1日10回の無料変換を取得
現代世界でPNGをBMPに変換する理由
PNGからBMPへの変換は、一見すると技術的な後退のように見える操作です。PNGは効率的な可逆圧縮と完全な透明度サポートを提供する一方、BMPはデータをほぼ生の形式で保存し、巨大なファイルを作成します。しかし、特定の専門分野では、BMPの単純さと予測可能性が不可欠なツールとなっています。
BMP(Bitmap Image File)は、1986年にMicrosoftが初期のWindowsバージョン向けに作成した形式です。約40年の歴史の中でほとんど変更されておらず、絶対的な下位互換性を提供しています。画像を扱うことができるあらゆるデバイスやプログラムは、BMPを理解することが保証されています。この普遍性は、特に数十年間更新されていないレガシーソフトウェア、産業システム、専門機器を扱う際に価値があります。
PNG(Portable Network Graphics)は、GIFの現代的な代替として10年後に登場しました。この形式は可逆圧縮にDEFLATEアルゴリズムを使用し、完全な8ビットアルファチャンネルをサポートしています。しかし、この複雑さは、リソースが限られたシステムやPNGデコーダーを持たない古いソフトウェアでは問題になります。
BMP形式の技術構造
BMPファイル構造
BMPは、3つの連続したブロックで構成される最も単純なラスター形式の1つです:
ファイルヘッダー(BITMAPFILEHEADER) — 14バイトの固定データ:
- シグネチャ「BM」(0x42 0x4D)— 形式識別子
- 総ファイルサイズ(バイト)
- 2つの予約フィールド(通常はゼロ)
- ファイル先頭からピクセルデータまでのオフセット
情報ヘッダー(BITMAPINFOHEADER) — 最小40バイト:
- ヘッダーサイズ(形式バージョンを決定)
- 画像の幅と高さ(ピクセル)
- カラープレーン数(常に1)
- 色深度:1、4、8、16、24、または32ビット
- 圧縮タイプ(通常0 — 圧縮なし)
- ピクセルデータサイズ
- メートルあたりピクセルの水平・垂直解像度
- パレット内の色数
- 重要な色数
ピクセルデータ — 実際の画像で、下から上へ行ごとに書き込まれます(上から下へスキャンする大半の形式とは異なります)。各行はパディングバイトを追加して4バイト境界に揃えられます。
BMPのデータ保存の特徴
BMPの主な特徴は、典型的な使用シナリオで圧縮がないことです。技術的には、形式は4ビットおよび8ビット画像のRLE圧縮をサポートしていますが、実際にはほとんど使用されません。標準的な24ビットBMP(True Color)は、各ピクセルをBGR順(青-緑-赤)で3バイトで書き込みます。これは一般的なRGBの逆順です。
圧縮なしの24ビットBMPサイズの公式:
サイズ = 54 + ((幅 × 3 + パディング) × 高さ)
パディング = (4 - (幅 × 3) mod 4) mod 4
例:1920×1080ピクセル画像
- 行:1920 × 3 = 5760バイト
- パディング:(4 - 5760 mod 4) mod 4 = 0バイト
- データ:5760 × 1080 = 6,220,800バイト
- ヘッダー:54バイト
- 合計:約5.93 MB
比較のために:写真を含む同じPNGファイルは、内容によって1-3 MBを占めます。
PNGとBMPの比較:主な違い
特性表
| 特性 | PNG | BMP |
|---|---|---|
| 作成年 | 1996 | 1986 |
| 圧縮アルゴリズム | DEFLATE(可逆) | なし(または≤8ビット用RLE) |
| 色深度 | 1-48ビット、アルファあり/なし | 1-32ビット |
| 透明度 | 8ビットアルファチャンネル | 32ビットモードのみ(信頼性低) |
| 色バイト順 | RGB | BGR |
| 行順序 | 上から下へ | 下から上へ |
| 写真サイズ 1920×1080 | 1-3 MB | ~6 MB |
| スクリーンショットサイズ 1920×1080 | 200-800 KB | ~6 MB |
| アイコンサイズ 64×64 | 2-5 KB | 12 KB |
| メタデータ | tEXt、iTXt、zTXtブロック | 最小限 |
| アニメーション | APNG | なし |
| インターレース | Adam7 | なし |
変換時に透明度に起こること
PNGは256レベルの透明度を持つ完全な8ビットアルファチャンネルをサポートしています。BMPは技術的に32ビットモード(BGRA)でアルファチャンネルを保存できますが、ソフトウェアでのこの機能のサポートは非常に予測不可能です。ほとんどのアプリケーションは4番目のバイトを無視するか、誤って解釈します。
PNGからBMPへの変換時、透明な領域は次の方法のいずれかで処理する必要があります:
- 白で塗りつぶし — 標準的なアプローチ、ほとんどのタスクに適切
- 黒で塗りつぶし — 暗い背景に配置される画像用
- カスタム色で塗りつぶし — ターゲット背景がわかっている場合
半透明ピクセル(アルファ1〜254)は、アルファ合成の公式を使用して塗りつぶし色とブレンドされます:
結果 = ソース × アルファ + 背景 × (1 - アルファ)
アルファは0から1に正規化されます。
これは、複雑なエフェクト — ぼかした影、グラデーション透明度、ガラスオーバーレイ — が変換中に選択した背景に「平坦化」され、元の透明度を復元することは不可能であることを意味します。
PNGからBMPへの変換の使用例
産業機器とCNCマシン
産業機器の相当部分が、DOSおよび初期Windows時代に作成された組み込みソフトウェアで動作しています。CNCマシン、レーザー彫刻機、プロッター、刺繍機、その他のデバイスは、BMP形式のグラフィックスのみを受け入れることがよくあります。
この制限の理由:
- 単純なデコード — BMPは複雑な解凍アルゴリズムを必要としない
- 最小システム要件 — デコーダーは数キロバイトのコードのみを占める
- 予測可能なメモリサイズ — デコードされた画像サイズが事前にわかる
- 信頼性 — 単純な形式はエラーが少ない
PNGからBMPへの変換により、このような機器にロードする現代の画像を準備できます。
レガシー企業ソフトウェア
企業環境では、15-25年前のソフトウェアシステムがよく使用されています:専門ERPシステム、医療ソフトウェア、文書管理システム、レガシーアプリケーション。このようなソフトウェアの更新は膨大なコストとリスクを伴うため、企業は実績のあるソリューションを使い続けています。
これらのシステムの多くはWindows 95/98/XP時代に開発され、限られたグラフィック形式のセットをサポートしています。BMPは、どこでも動作することが保証されている事実上唯一の形式です。
組み込みシステムとマイクロコントローラー
組み込みシステム開発者は、形式の扱いやすさからBMPを選ぶことがよくあります:
- PNGデコード用のライブラリが不要(メモリ節約)
- ピクセルデータへの直接アクセス
- 画像をビデオメモリに直接ロード可能
- 予測可能な処理時間
マイクロコントローラープロジェクト(Arduino、ESP32、STM32)のディスプレイでは、BMPはコンピューターから画像を転送するための最適な形式であることが多いです。
ファイルサイズの比較
PNGからBMPへの変換は、ほぼ常に大幅なファイルサイズの増加をもたらします:
| 画像タイプ | PNG | BMP 24ビット | 増加 |
|---|---|---|---|
| 写真 1920×1080 | 2-3 MB | 5.9 MB | ×2-3 |
| インターフェーススクリーンショット | 300-600 KB | 5.9 MB | ×10-20 |
| 透明度付き256×256アイコン | 30-50 KB | 192 KB | ×4-6 |
| シンプルなグラフィックス 800×600 | 50-150 KB | 1.4 MB | ×10-28 |
| インフォグラフィック 1200×800 | 200-400 KB | 2.7 MB | ×7-14 |
| 透明背景のロゴ | 20-80 KB | 150-500 KB | ×6-8 |
最大の増加は、PNGが大きな単色領域により特に効果的なスクリーンショットとシンプルなグラフィックスで観察されます。写真の場合、PNGが写真コンテンツをそれほど効率的に圧縮しないため、差は小さくなります。
PNGからBMPへの変換の用途
産業機器
BMPのみを受け入れるCNCマシン、レーザー彫刻機、プロッター、その他の機器用の画像準備
レガシー企業ソフトウェア
レガシー文書管理システム、ERP、専門アプリケーションへのロゴと画像のロード
組み込みシステム
PNGデコーダーのない制限されたリソースのマイクロコントローラーとデバイス用のグラフィックス準備
Windows API
BMP形式を必要とするGDI関数やその他のWindows APIで作業するための画像作成
PNGからBMPへの変換のヒント
必要な場合のみ使用
ターゲットソフトウェアや機器がPNGをサポートしていない場合のみ、PNGをBMPに変換してください。他のすべてのタスクにはPNGがより効率的です
透明度の損失を考慮
ソースPNGに透明な背景がある場合、適切な塗りつぶし色を選択してください。白は明るいインターフェースに、黒は暗いインターフェースに適しています
ストレージを計画
BMPファイルはPNGより5-20倍大きいです。保存とファイル転送に十分なスペースがあることを確認してください
PNG原本を保持
他の形式への変換の可能性のために元のPNGファイルを保存してください。BMPから透明度を復元することは不可能です