libpng 警告: sRGB プロファイルが正しくありません
SDL を使用して PNG 画像をロードするときに「libpng 警告: iCCP: 既知の不正な sRGB プロファイル」エラーが発生した場合は、埋め込まれたカラープロファイル。この警告は、次の原因で発生する可能性があります:
-
ICC プロファイルの不一致: PNG 画像に正しくない sRGB プロファイルが含まれているため、一部のアプリケーションで画像が正しく解釈されない可能性があります。
-
古い Libpng バージョン: 古いバージョンの libpng はチェックが緩い可能性がありますICC プロファイルが原因で、この警告はトリガーされません。
問題の解決
この問題を解決するには、次の解決策を検討してください:
-
iCCP チャンクの削除: ImageMagick や pngcrush などの画像エディタを使用して iCCP を削除しますPNG イメージからチャンク (間違ったカラー プロファイルを含む) を見つけました。
convert in.png out.png # ImageMagick
pngcrush -n -q *.png # pngcrush (for checking)
-
警告を無視してください: 間違った ICC プロファイルが機能上の問題を引き起こしていない場合アプリケーションでは、警告を無視するか、ICC プロファイルをより適切に処理する最新バージョンに libpng を更新できます。厳密に。
追加メモ
- iCCP チャンクを正常に削除するには、ImageMagick が libpng16 でビルドされていることを確認してください。
- 次の場所で magick.exe mogrify コマンドを使用してください。 Windows の場合、ImageMagick がパス上にある場合。
- PNGcrush を使用できます。不要な出力を抑制して問題のあるファイルを特定します。
以上がPNG 画像をロードすると「libpng 警告: sRGB プロファイルが正しくありません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。