警告:libpng警告:iCCP:已知不正確的sRGB配置文件
P粉002572690
P粉002572690 2023-10-12 22:06:35
0
2
873

我嘗試使用 SDL 載入 PNG 映像,但程式無法運行,並且在控制台中出現此錯誤

libpng 警告:iCCP:已知不正確的 sRGB 設定檔

為什麼會出現這個警告?我該怎麼做才能解決這個問題?

P粉002572690
P粉002572690

全部回覆(2)
P粉481035232

使用pngcrush從png檔案中刪除不正確的sRGB設定檔:

pngcrush -ow -rem allb -reduce file.png
  • -ow 將覆寫輸入檔
  • -rem allb 將刪除除 tRNS 和 gAMA 之外的所有輔助區塊
  • -reduce 進行無損色彩類型或位元深度縮減

在控制台輸出中,您應該會看到Removed the sRGB chunk,以及可能更多有關區塊刪除的訊息。您最終將得到一個更小、優化的 PNG 檔案。由於該命令將覆蓋原始文件,因此請確保建立備份或使用版本控制。

P粉300541798

某些應用程式將警告視為錯誤;如果您正在使用此類應用程序,則必須刪除該區塊。您可以使用任何種類的 PNG 編輯器來完成此操作,例如 ImageMagick

使用Windows CMD提示,您需要cd(更改目錄)到包含您要關注的映像的資料夾,然後才能使用下面列出的命令.

Libpng-1.6對於ICC配置檔案的檢查比以前的版本更加嚴格;您可以忽略該警告。要擺脫它,請從 PNG 映像中刪除 iCCP 區塊。

convert in.png out.png

要從資料夾(目錄)中的所有 PNG 檔案中刪除無效的 iCCP 區塊,您可以使用 ImageMagick 中的 mogrify

mogrify *.png

這要求您的 ImageMagick 是使用 libpng16 建構的。您可以透過運行輕鬆檢查它:

convert -list format | grep PNG

如果您想找出哪些文件需要修復,而不是盲目地處理所有文件,您可以執行

pngcrush -n -q *.png

其中 -n 表示不重寫文件,-q 表示抑制除警告之外的大部分輸出。抱歉,pngcrush 中還沒有選項可以抑制除警告之外的所有內容。

注意:您必須安裝pngcrush


ImageMagick 的二進位版本位於此處


#對於 Android 專案 (Android Studio),導覽至 res 資料夾。

例如:

C:\{your_project_folder}\app\src\main\res\drawable-hdpi\mogrify *.png
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!