FileFix Ultimate
日本語

破損したPNGファイルを修復する方法

PNGファイルはチャンクで構成され、各チャンクはチェックサムで保護されています。そのため破損箇所を見つけやすくなっています。ビューアーがファイルを開かない場合でも、原因は1つの不良チャンクや末尾マーカーの欠落であることが多く、画像の大部分はまだ残っています。

最終更新:

今すぐ行うこと

  1. ファイルをコピーし、コピーだけを対象に作業します。
  2. 検査して、どのチャンクが破損しているか、またはファイルが途中で切れているかを確認します。
  3. 修復コピーを作成します。デコードできない行は除外されるか、埋められます。

手順

  1. ファイルをコピーする

    元のファイルはそのまま残します。PNGが復元によって得られたものなら、別の復元コピーが無傷かどうかも確認します。

  2. 検査する

    破損ファイルの修復でPNGを選択します。FileFix Ultimateはシグネチャ、ヘッダーチャンク、各チャンクのCRC、圧縮された画像データ、末尾マーカーを確認します。

  3. 検査結果を読む

    テキストやカラープロファイルなどの補助チャンクでCRCが不正なだけなら、影響は小さく修正も容易です。画像データチャンクの破損は、画像そのものに影響します。

  4. 修復コピーを作成する

    修復では構造上の問題を修正し、画像データが破損している場合は、まだデコードできる行から画像を再構築します。

  5. 結果を確認する

    修復コピーを開きます。下部が欠けている場合、その部分のデータは失われており、復元できません。

PNGの破損の仕組み

PNGは8バイトのシグネチャで始まり、その後にチャンクが続きます。IHDRはサイズとカラータイプを記述し、IDATチャンクは圧縮されたピクセルを格納し、IENDは終端を示します。各チャンクの末尾にはCRCチェックサムがあるため、どれか1バイトでも変わると検出されます。

ピクセルデータはすべてのIDATチャンクにまたがる1つのストリームとして圧縮されているため、途中の破損は通常、その後のすべてを壊します。破損箇所より前の行は正しくデコードされるため、部分的な画像を保存できることがよくあります。これらのチェックサムを無視するツールでは、部分的に壊れた画像でも表示される場合があるため、同じファイルについてビューアーごとに結果が異なることがあります。

よくある原因

ダウンロードやコピーの中断により、ファイルが途中で切れます。一部のFTPクライアントで見られた古い問題として、テキストモードでの転送が行末バイトを変更し、チェックサムを壊すことがあります。故障しかけたドライブや容量偽装のUSBメモリは、保存済みデータをその場で破損させます。

削除後に復元されたスクリーンショットやグラフィックも、その領域の一部が再利用されていると壊れている場合があります。復元後に検証すると、どのファイルが最後までデコードできるかが分かります。

うまくいかない場合

  • 欠落または破損したピクセルデータは復元できません。保持されるのはデコード可能な部分だけです。
  • アニメーションPNGでは、最初のフレーム以降が保持されない場合があります。
  • .png拡張子が付いているだけで中身が別の形式のファイルは、修復対象のPNGではありません。

FileFix Ultimateが役立つ点

  • すべてのチャンクとそのCRCを確認し、破損の正確な位置を報告します。
  • データストリームが壊れている場合、デコード可能な行から部分的な画像を再構築します。
  • 新しいPNGを書き出し、元のファイルは変更しません。
  • 削除ファイルの復元後に、復元されたPNGファイルをデコードして検証します。

FileFix Ultimate は無料で、オフラインで動作し、復元元のドライブには書き込みません。実行前に署名を確認してください。

よく寄せられる質問

CRCエラーのあるPNGは開けますか?

一部のビューアーはCRCエラーを無視し、そのまま画像を表示します。正しいチェックサムを持つ修復コピーなら、それらのビューアーで開けます。

PNGの上部だけが表示されるのはなぜですか?

圧縮データが途中で壊れ、その後のすべてをデコードできなかったためです。その部分のデータは破損しているか、欠落しています。

PNGの修復は可逆ですか?

デコードできる行については、はい。PNGは可逆形式なので、修復されたピクセルは元のピクセルと同一です。

破損したPNGをJPEGに変換すれば直せますか?

変換するには、まず画像をデコードする必要がありますが、同じ箇所で失敗します。先にPNGの構造を修復し、JPEGが必要な場合はその修復コピーを変換してください。

このページを共有