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

前端之家收集整理的这篇文章主要介绍了解决Cocos客户端libpng warning:iCCp:known incorrect sRGB profile前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

方案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:\ImageMagick\convert.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

猜你在找的Cocos2d-x相关文章