如何阻止浏览器使图像更暗淡

时间:2015-02-12 21:29:30

标签: php google-chrome firefox png imagick

我在Ubuntu Linux和Windows 8上的Chrome和Firefox中发现了以下行为:

在图片编辑器中查看时,包含文本的灰度图像非常清晰,但浏览器会以某种方式使灰色比在图像中查看时更加苍白(Chrome,Firefox)Screenshot of the same image opened in 1) Ubuntu Image viewer and 2) Firefox and displayed side by side

有没有人知道是否有办法停止或控制它,可能通过Javascript,服务器标题等?在图像中是否存在某种编码,这些编码没有明确设置正确的灰色调?

不确定这是什么时候开始发生的,但是这张图片来自一个可能有一百万张这样的图片的网站,而且从来没有出现问题。

1 个答案:

答案 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()实际上进行了必要的更改,使图像显示为该颜色空间。