我在Ubuntu Linux和Windows 8上的Chrome和Firefox中发现了以下行为:
在图片编辑器中查看时,包含文本的灰度图像非常清晰,但浏览器会以某种方式使灰色比在图像中查看时更加苍白(Chrome,Firefox)
有没有人知道是否有办法停止或控制它,可能通过Javascript,服务器标题等?在图像中是否存在某种编码,这些编码没有明确设置正确的灰色调?
不确定这是什么时候开始发生的,但是这张图片来自一个可能有一百万张这样的图片的网站,而且从来没有出现问题。
答案 0 :(得分:0)
原因是与png文件中存储的缺失元数据相关联,这意味着没有为图像分配正确的默认ICC颜色配置文件。较旧的浏览器并不打扰颜色配置文件,在这种情况下,它们实际上是显示图像"正确"在过去,但新的浏览器显示模糊的图像。
使用png可以在图像元数据中设置单字节属性,指示图像渲染器使用sRGB ICC图像颜色配置文件。
<强>更新强> 感谢danack指出了正确的方法,并尝试使用exec(),就像我在原始修复程序中所做的那样:
$图像 - &GT; transformImageColorspace(Imagick :: COLORSPACE_SRGB);
我还应该注意contrary to what this page says setImageColorspace()方法 按预期工作,因为它的功能不是实际更改文件颜色空间,而只是设置颜色空间根据ImageMagick API文档,图像声明(又名&#34; sets the colorspace member of the Image structure&#34;相比之下,transformImageColorSpace()实际上进行了必要的更改,使图像显示为该颜色空间。