FileFix Ultimate
繁體中文

如何修復毀損的 PNG 檔案

PNG 檔案由多個區塊組成,每個區塊都有檢查碼保護。因此損毀位置很容易找出:檢視器拒絕開啟檔案,常常只是因為某個區塊有問題或缺少結尾標記,而大部分影像其實仍然存在。

最後更新:

現在該怎麼做

  1. 複製檔案,之後只在副本上操作。
  2. 檢查檔案,找出哪個區塊受損,或檔案是否被截斷。
  3. 建立修復副本;無法解碼的影像列會被略過或填補。

逐步操作

  1. 複製檔案

    保留原始檔不變。如果這個 PNG 是復原取得的,也請檢查是否有另一個復原副本是完整的。

  2. 檢查檔案

    在損毀檔案修復中選擇 PNG。FileFix Ultimate 會檢查 signature、標頭區塊、每個區塊的 CRC、壓縮影像資料和結尾標記。

  3. 閱讀檢查結果

    輔助區塊的 CRC 錯誤,例如文字或色彩設定檔,通常無害且容易修正。影像資料區塊的損毀則會影響圖片本身。

  4. 建立修復副本

    修復會更正結構問題;如果影像資料受損,則會用仍可解碼的影像列重建影像。

  5. 檢查結果

    開啟修復副本。如果下半部遺失,表示那部分資料已經遺失,無法還原。

PNG 損毀的運作方式

PNG 以八位元組 signature 開頭,後面接著多個區塊:IHDR 描述尺寸與色彩類型,IDAT 區塊承載壓縮後的像素,IEND 標示結尾。每個區塊都以 CRC 檢查碼結束,因此任何位元組被改動都會被偵測到。

因為像素資料會跨所有 IDAT 區塊壓縮成同一個資料流,中間發生損毀時,通常會讓後面的所有內容都無法解開。損毀點之前的影像列可以正確解碼,這就是為什麼常能保留部分影像。忽略這些檢查碼的工具仍可能顯示局部破損的影像,因此不同檢視器可能會對同一個檔案有不同結果。

常見原因

下載和複製中斷會讓檔案被截斷。文字模式傳輸是部分 FTP 用戶端的舊問題,會改變換行位元組並破壞檢查碼。故障中的磁碟和標示容量不實的 USB 隨身碟,會直接在原處損毀資料。

刪除後復原的螢幕擷取畫面和圖形,如果部分空間已被重複使用,也可能已經損壞。復原後進行驗證,可以看出哪些檔案能完整解碼。

無法修復的情況

  • 遺失或損毀的像素資料無法復原;只能保留可解碼的部分。
  • 第一個影格以外的 Animated PNG 影格可能無法保留。
  • 如果檔案只是副檔名為 .png,但內容其實是其他東西,就不是可修復的 PNG。

FileFix Ultimate 如何協助

  • 檢查每個區塊及其 CRC,並回報損毀的確切位置。
  • 資料流中斷時,從可解碼的影像列重建部分影像。
  • 寫出新的 PNG,並保留原始檔不變。
  • 解碼復原出的 PNG 檔案,以便在刪除復原後進行驗證。

FileFix Ultimate 免費、可離線使用,且絕不會寫入你正在復原來源的磁碟機。執行前請先檢查簽章。

常見問題

有 CRC 錯誤的 PNG 可以開啟嗎?

有些檢視器會忽略 CRC 錯誤,仍然顯示影像。具有正確檢查碼的修復副本,則可在這些檢視器中開啟。

為什麼我的 PNG 只看得到上半部?

壓縮資料在某個位置中斷,後面的所有內容都無法解碼。那部分資料已損毀或遺失。

PNG 修復是無損的嗎?

對於能解碼的影像列,是的。PNG 是無損格式,因此修復後的像素會與原始像素相同。

可以把損毀的 PNG 轉成 JPEG 來修好嗎?

轉換前必須先解碼影像,而解碼會在同一個位置失敗。請先修復 PNG 結構;如果需要 JPEG,再轉換修復副本。

分享此頁面