我正在使用WordPress版本3.4运行WordPress网站(因此使用现已弃用的“image_resize”功能),我发现WordPress的图像大小调整功能在质量方面极其缺乏。关于这个问题似乎没有任何在线内容(如果我错了,请纠正我)。
我的客户端上传的图片可能非常大,所以我想使用图像大小调整功能和缓存技术,以便需要较小的图像不会花费很长时间来访问者下载。但是当我使用图像调整大小时,我发现即使将$ jpeg_quality参数设置为100,质量也会显着降低。
以下是质量差异的示例:
除了StackOverflow因处理图像而可能添加的模糊性外,主要区别在于色彩的活力。左侧的图像是原始上传的图像到WordPress网站,其原生宽度约为800像素。它已在HTML中手动调整为200像素宽。右边的图像是使用以下代码将WordPress调整大小方法调整为200像素且100%jpeg质量的图像:
image_resize( "/path/to/image", 200, 0, false, null, null, 100 );
任何人都可以解释为什么这看起来如此糟糕,我能做些什么来解决它?
答案 0 :(得分:3)
根据我们到目前为止的讨论,我会说你遇到的问题与this earlier question中提到的效果相似,但我不知道你的WordPress 3.4安装是否会在下面使用GD。
基本上,正在发生的事情是你的图像有一个嵌入式的Adobe RGB颜色配置文件,这对我们来说是一个非常合理的东西,即使它们已经上网了。您可能需要记住,如果在浏览器中查看图像并不尊重这种颜色管理,您可以see some surprising results,而且通常看起来建议仍然是更喜欢sRGB幅。
我猜你的WordPress 3.4安装使用的调整大小过程不尊重颜色配置文件 - 实际上可能忽略它 - 这就是为什么在调整大小期间颜色会被破坏的原因。实际上,它输出的图像应该仍然在Adobe RGB空间中,但是会丢弃颜色配置文件,因此图像会在sRGB中重新解释,这使得内容看起来很柔和。
有两种选择,我会说:
查看一些尊重图像颜色配置文件的调整大小过程(如前面的问题所述,升级GD库,如果这是正在使用的,或切换到基于ImageMagick的解决方案,说。)我没有尝试过,但是如果你可以在你的服务器上安装ImageMagick,看起来像this WordPress plugin将允许你使用它来相当轻松地调整图像大小。它特别提到了在调整大小时尊重颜色配置文件。
查看在sRGB色彩空间中导出图像是否可以解决调整大小问题。这可能是最简单的解决方案,并且如果我认为正在进行的是实际发生的事情,它可能会起作用。虽然一旦他们通过你的缩放器,图像可能最终没有嵌入的颜色配置文件,但几乎所有看到它们的人都认为它们仍然是sRGB。