2012-06-04 52 views
1

Firefox 12呈现较浅的图像,而Chrome 19,Opera 11,Safari 5和IE9则呈现正确。我该如何让Firefox使用正确的颜色渲染PNG?

左边的图像上传到#1原始PNG,而在右边的是Firefox的渲染截图片段:

Original Firefox

当您查看在Firefox这个问题页面,你仍然可以看到一个区别。我相信Firefox也会将相同的颜色转换应用于自己的渲染(由剪辑工具保存)。但是我在stackoverflow标识上看不到任何渲染差异。

我试着用Paint.NET的保存PNG和输出的OptiPNG,结果是一样的。任何疑难解答提示也表示赞赏。

+0

你搞砸与任何'约:火狐的config'特点是什么?像__gfx.color_management.enabled__ – corn3lius

回答

2

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

Firefox确实支持这一点。其他浏览器可能不会。

+1

我在使用TweakPNG删除gAMA块后,能够正确渲染图像。谢谢! –

+0

请注意,在保存为PNG时,您还可以使用GIMP选项“保存伽玛”。 – v6ak

+0

对我而言,ICC配置文件似乎影响了Firefox和Chrome中的渲染。我删除了该块。 – Pluto

1

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

您可以使用免费/开源pngcrush将sRGB块添加到您的图像,如果它没有一个。

pngcrush -sRGB existing.png new-better.png 

NB - 火狐45.0.2为OS X,由Adobe Illustrator的CC 2015年产生PNG,您的里程可能会有所不同...

0

当在PHP中使用iMagick创建png图片,同样的情况可能会发生。目前,Firefox和Chrome浏览器呈现的图像颜色都不同于IE11。

你可以只保存前删除使用该PHP代码的伽玛信息:

$imagick->stripImage();