加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解决Cocos客户端libpng warning:iCCp:known incorrect sRGB prof

发布时间:2020-12-14 16:41:55 所属栏目:百科 来源:网络整理
导读:方案1,改写libpng源码,在打印处加入文件名(改写成功,生成了lib和dll,但未见打印效果)。 方案2,使用GIMP手动改写png的色彩配置文件为sRGB v4 ICC preference.ICC 色彩配置文件,效率低。下载地址: http://www.gimp.org/downloads/ 方案3,使用ImageMa

方案1,改写libpng源码,在打印处加入文件名(改写成功,生成了lib和dll,但未见打印效果)。
方案2,使用GIMP手动改写png的色彩配置文件为sRGB v4 ICC preference.ICC 色彩配置文件,效率低。下载地址: http://www.gimp.org/downloads/

方案3,使用ImageMagic 编写Python脚本批量删除文件内置的sRGB配置文件,由此发现png图片名字中带有空格的执行脚本失败,且剩余未转换图片数与libpng warning:iCCp:known incorrect sRGB profile下载地址:http://www.color.org/srgbprofiles.xalter#v4pref

脚本:

import os


CMD = r'D:ImageMagickconvert.exe'
SOURCE_PATH = r'e:srgb'


def doStrip(path):
data = {};
print(path)
for root,dirs,files in os.walk(path):
for file in files:
name = file.lower();
if name.find('.png') != -1:
path = os.path.join(root,file)
#print('"{0}" {1} -strip {1}'.format(CMD,path,path))
#os.system('"{0}" {1} -strip {1}'.format(CMD,path));
#print('"{0}" {1} -profile "sRGB_v4_ICC_preference.icc" {1}'.format(CMD,path))
os.system('"{0}" {1} -profile sRGB_v4_ICC_preference.icc {1}'.format(CMD,path));



doStrip(SOURCE_PATH)


有2点注意:

1.python脚本对空格和tab很敏感,报一些错误要单独处理

2.注释的第2句话是说删除文件包含的所有Iccp配置文件,而循环中最后一句话是说更换Iccp配置文件为sRGB_v4_ICC_preference。如果删除,则文件会变小,但未发现有任何问题。谨慎一些,不在乎大小的话,还是用目前的脚本,否则就注释当前循环的最后一句话,放开注释的第二句话即可。

相同,至少可以肯定有很大一部分该打印信息都是由于png图片名字带空格引起。


具体为什么修改色彩配置空间可参考

http://my.oschina.net/1pei/blog/479162

http://blog.sina.com.cn/s/blog_489988100101gmcl.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读