我有以下徽标,其显示与FF3,Chrome(#363636)中的HTML正文相同的背景颜色.
但在IE8中它会显示不同的深色.
这个FF3/Chrome是原谅我的PNG,还是只是另一个IE bug(我认为他们修复了IE7中的PNG支持)?
更新:我仍然遇到这个问题,我用来纠正它的pngcrush参数是:
pngcrush -replace_gamma 0.5181347 infile.png outfile.png
Win32二进制链接在这里.
您的PNG中有一个伽马校正信息(gAMA块)结构.如果您正在处理想要进行伽马校正的照片,那就没问题了,但这对于网络来说并不是正确的.
在网络上,浏览器通常不会对HTML/CSS颜色或其他图像应用伽马校正,因此如果使用伽马校正,您将在PNG上获得与页面其余部分不一致的结果.有些浏览器不会因为这个原因而应用PNG gamma,这就是获得变量结果的原因.
将徽标加载到图像编辑器中,并在没有gAMA块信息的情况下将其保存回来.更多.
这里评价最高的答案表明使用pngcrush将伽玛值奇怪地重置为0.5181347.这可能适用于某些宇宙,但在我们的最佳路径中,您可以从PNG中去除所有颜色空间信息,使其完全呈现在浏览器用于CSS中颜色的相同中性RGB三元组空间中:
pngcrush -rem cHRM -rem gAMA -rem iCCP -rem sRGB infile.png outfile.png
对于真正的彩色头来说,这意味着您设计的原始颜色在另一台显示器或操作系统上可能看起来不一样,但根据浏览器+,每个用户都会以相同的方式呈现具有相同RGB值的所有颜色+他们正在上演.具体而言,邻接PNG的背景颜色或相邻颜色将匹配,因此您可以使用互锁图像和颜色设计您的网站.