libpng warning: iCCP: known incorrect sRGB profile
原因
新版本 (libpng-1.6) 在检查 ICC 配置文件 (主要用于色彩校正) 方面更加严格。您 可以忽略 该警告,但有些应用程序会将该警告处理为错误。
解决方法
删除 PNG 图像中 iCCP 块。为大家提供以下两种方法。
- Unix 系统下可以使用
convert
工具转换
convert in.png out.png
- 可以使用 Qt 库实现来转换
QPixmap pixmap;
pixmap.load("in.png");
pixmap.save("out.png", "PNG");
关于更多
-
ICCP:iCCP 嵌入式 ICC 配置文件。
- 在 PLTE 和 IDAT 之前。如果 存在 iCCP 块,则不应该存在 sRGB 块。
- 另外,PNG 数据流 最多 应包含 一个嵌入式配置文件,无论是使用 iCCP 块显式指定还是使用 sRGB 块隐式指定。
- ICC 配置文件 :颜色空间的描述(以国际颜色联盟(ICC) 的形式)。
- sRGB:标准 RGB 颜色空间(一个图像样本符合这个颜色空间的指示)。
- ref:https://www.w3.org/TR/2003/PR…