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

我嘗試使用 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學習者快速成長!