先に結論

JPGをBMPに変換しても、JPEG圧縮で失われた細部は戻りません。旧式アプリが受け付けるBMPのヘッダー、ビット深度、パレット、向きを代表ファイルで確認し、取り込みから保存・再読込まで試してください。

ツールを使う

JPG → BMP

ツールを開く

変換の目的を画質向上ではなく互換性に置く

JPGは通常、写真を効率よく保存するための非可逆圧縮形式です。JPGからBMPへ変換すると、デコーダーが現在のJPGから再構成した画素がBMPの構造へ書き込まれます。JPEG作成時に捨てられた細部、滑らかな階調、輪郭の情報が戻るわけではありません。出力BMPが何倍も大きくなっても、ぼけ、ブロック、リンギングなど元の劣化は残ります。したがって目的は「画質を上げる」ではなく「対象アプリが読める入力を作る」と定義します。

まず、そのアプリが本当にBMPを要求しているか、対応する別形式や更新版、読み込み機能がないか確認します。BMPが必須なら、元JPGの画素寸法、向き、目立つ輪郭、中間色、肌色、高彩度色を比較点として記録します。方向メタデータを適用して表示されているJPGは、変換ツールによって回転の扱いが異なる可能性があります。変換前後を同じ向きと表示倍率で比べ、互換性の確認と画質評価を混同しないようにします。

  • 大きなBMPを復元された高画質と見なさない
  • 対象アプリが求める形式を先に確認する
  • 寸法、向き、色の比較点を記録する

BMPへ移しても、JPEG圧縮で既に失われた情報は復元されません。

旧式アプリが読めるBMPの種類を特定する

MicrosoftのBITMAPINFOHEADER資料が示すように、BMPには幅、高さ、ビット数、圧縮値、画像サイズ、使用色数などを表すフィールドがあります。現代の編集ソフトで開けるBMPが、古いアプリでも必ず開けるとは限りません。説明書や既存の正常ファイルから、必要なヘッダー系統、非圧縮指定、24ビットまたはインデックス色、最大寸法、最大ファイルサイズを調べます。文書がなければ、重要な本番画像ではなく小さく単純なサンプルから始めます。

旧式の処理系には、固定色数のパレットBMPだけを期待するものも、非圧縮24ビットの画素だけを安定して扱うものもあります。32ビット出力は高機能に見えても、余分なバイトをアルファとして扱えず拒否または誤表示することがあります。変換ツールがヘッダーを選べない場合は、完成ファイルを情報表示ツールで調べます。正常に動いたサンプルのヘッダー、ビット深度、圧縮、寸法、容量を残し、失敗時に比較できる基準にします。

  • ヘッダー、ビット深度、圧縮方式を確認する
  • 寸法、容量、パレットの制限を調べる
  • 正常なサンプルの構造を記録する

行方向と保存構造を実アプリで試す

非圧縮RGBビットマップでは、高さの符号によって下から上へ並ぶbottom-upと上から下へ並ぶtop-downが表現されます。また、各行の格納幅はDWORD境界に合わせて丸められるため、画素幅そのものと一致しない場合があります。仕様を正しく実装したソフトは正常に復元しますが、限定的な旧式デコーダーは一つの並びだけを仮定することがあります。上下が反転する、行がずれる、帯が出る、色チャンネルが変わるといった症状を対象アプリで確認します。

左右非対称で四隅の色が異なり、奇数幅を持つ小さなテスト画像を使うと、方向や行パディングの問題を見つけやすくなります。単に開くだけで終えず、配置、切り抜き、印刷、装置への出力など実際の操作を行い、保存してから再度開きます。読み込みには成功しても、後段の保存処理が別の構造を書き出すことがあるためです。現代のビューアーとの比較は参考にしつつ、承認対象となる旧式ワークフロー全体で合否を決めます。

  • 非対称で奇数幅のテスト画像を使う
  • 反転、行ずれ、帯、色入れ替えを確認する
  • 実作業後に保存して再度開く

色と透明度の限界を分けて確認する

通常のJPGにはアルファ透明度がないため、BMPへ変換しただけで透明背景は作られません。32ビットBMPを選んでも、有効なアルファ値が生成されることや、受け手の旧式アプリがそれを解釈できることは保証されません。不透明な成果物が必要なら背景色を明示し、黒くなる領域や予期しない半透明がないか調べます。透明度が必須なら、アルファを実際に持つ元データへ戻り、そのアプリが対応する形式を確認する必要があります。

古いアプリが埋め込みカラープロファイルを無視すると、管理対応ビューアーで見たJPGよりBMPが明るく、暗く、または高彩度に見える場合があります。中性灰、肌色、赤・緑・青のパッチを、最終表示または印刷経路で比較します。インデックス色へ減色すると、写真やグラデーションにディザや色段差が加わることもあります。色変換、パレット化、互換設定を一度に変えず、一項目ずつ試して差の原因を追えるようにします。

  • 不透明出力と本当のアルファ要件を分ける
  • 中性灰、肌色、高彩度色を比較する
  • 減色とディザの影響を確認する

再現できる承認テストを作る

小さな写真、文字と細線を含む画面画像、予定する最大寸法に近いファイルを代表サンプルにします。候補設定で変換し、ヘッダー、ビット深度、圧縮、画素寸法、バイト数を記録します。旧式アプリで開き、実際の編集や出力を行い、保存して再読込します。一つの小画像が開いたというだけでは、別の寸法、色数、パレットを持つ全ファイルの互換性を証明できません。

承認した設定をアプリの版と画像種類ごとに文書化し、元のJPGは必ず保持します。BMPが失敗したら派生ファイルを往復変換せず、JPGから別設定で作り直します。アプリやOSを更新した後は同じ代表セットで再試験します。BMPが古いシステムへの一時受け渡し用なら、元JPGと必要な承認済み派生物を中心に保管し、すべての大容量BMPを永久マスターとして扱わない方が再現性と容量管理を両立できます。

  • 内容と寸法が異なる代表ファイルを使う
  • 取り込み、処理、保存、再読込を検証する
  • アプリ版ごとに承認設定を残す

互換性は拡張子ではなく、BMPの構造と実際の作業経路全体で証明します。

要点まとめ

  • BMPの容量が大きくなっても、JPEG圧縮で失われた画質や細部は復元されません。
  • 旧式アプリは特定のBMPヘッダー、ビット深度、パレット、圧縮方式だけを受け付ける場合があります。
  • 行方向、行パディング、色、アルファの解釈差は、現代のビューアーでは見つからないことがあります。
  • 一括変換前に、実際の取り込み、処理、保存、再読込までを代表ファイルで検証します。

よくある質問

JPGをBMPに変換すると画質は良くなりますか?

いいえ。JPGから復号された現在の画素を保存するだけで、JPEG圧縮時に失われた細部は戻りません。

なぜ古いアプリがBMPを拒否するのですか?

ヘッダー、ビット深度、圧縮、パレット、寸法、容量、行方向のいずれかが、そのアプリの対応範囲外である可能性があります。

24ビットBMPと32ビットBMPのどちらを選ぶべきですか?

対象アプリの資料と正常サンプルに合わせてください。ビット数が多いほど古いアプリとの互換性が高いとは限りません。

変換したBMPが上下逆に見えるのはなぜですか?

対象デコーダーがBMPの行方向を限定的に解釈している可能性があります。対応する別構造で再変換し、実アプリで確認します。

一括変換前に最低限どこまで試すべきですか?

内容と寸法の異なる代表ファイルを使い、対象アプリで取り込み、実処理、保存、再読込まで完了させます。

出典・参考資料

  1. Microsoft Learn — BITMAPINFOHEADER structure
  2. JPEG Committee — JPEG 1
  3. MDN — Image file type and format guide