如何让firefox渲染PNG的颜色正确?

时间:2012-06-04 15:15:40

标签: firefox png

Firefox 12以更浅的颜色呈现下面的图像,而Chrome 19,Opera 11,Safari 5和IE9正确呈现它。

左边的图片是上传到Stackoverflow的原始PNG,而右边的图片是Firefox渲染的截图摘录:

Original Firefox

当您在Firefox上查看此问题页面时,您仍会看到不同之处。我相信Firefox也会将相同的颜色转换应用于它自己的渲染(由剪切工具保存)。但我没有看到stackoverflow徽标上的任何渲染差异。

我尝试使用Paint.NET保存的PNG和OptiPNG的输出,结果是一样的。任何疑难解答提示也很受欢迎。

3 个答案:

答案 0 :(得分:2)

png图像有一个gAMA块,因此它的渲染将取决于渲染的东西是否支持PNG的伽马校正。

Firefox支持这一点。其他浏览器可能没有。

答案 1 :(得分:2)

有趣的是,在2016年,现在恰恰相反。在没有ICC配置文件的情况下,Firefox需要sRGB块来呈现与Safari / Chrome / WebKit相同的PNG。

如果没有sRGB块,您可以使用免费/开源pngcrush为图像添加sRGB块。

pngcrush -sRGB existing.png new-better.png

NB - 用于OS X的Firefox 45.0.2,由Adobe Illustrator CC 2015生成的PNG,您的里程可能会有所不同......

答案 2 :(得分:0)

在PHP中使用 iMagick 创建png图像时,可能会出现相同的情况。目前,Firefox和Chrome都使用与IE11不同的颜色呈现图像。

您可以在保存之前使用此PHP代码删除伽玛信息:

$imagick->stripImage();