客户经常遇到的一个问题是,他们倾向于直接从设备上传5MB图像到网站上。最好的解决方法是,既然我们不能真正实施适当的图像大小和裁剪,就用wordpress函数神奇地实现这一点。
// add new Image sizes
add_image_size( \'sqr-thumb\', 450, 450, true ); // Hard Crop Mode
这里添加了一个自定义图像大小,450 x 450的裁剪。现在它工作了,很漂亮,但是,图像的颜色和质量发生了巨大的变化。
在下图中,我调用两个图像的媒介(不是sqr拇指,但如果我是方形的话,它将是方形的)。
右侧的一个是在自定义图像大小之前添加的。左侧的一个是在自定义图像裁剪之后添加的(它有一个sqr thumb版本)。我在两个实例中都使用了相同的图像进行上传。
很明显,左边的那个质量和颜色都不太好(就像你在黑白样品中看到的那样)。
有没有办法做到这一点并保持图像质量?
这里使用的图像是通过Photoshop Creative Cloud创建的PNG保存RGB。可在以下网址找到:http://rehost.ca/temp/woman.png
注意:我用了6种不同的PNG,颜色和黑白。所有这些都会发生。
我们的开发服务器使用GD。
SO网友:Dave Romsey
使用jpeg_quality
和wp_editor_set_quality
设置大小调整后图像质量的过滤器:
add_filter( \'wp_editor_set_quality\', \'wpse246186_image_quality\' );
add_filter( \'jpeg_quality\', \'wpse246186_image_quality\' );
function wpse246186_image_quality( $quality ) {
return 100; // 0 - 100% quality
}
我无法复制报告的问题;原始PNG图像看起来与缩略图相同。在Windows 7上的Chrome中测试,PHP版本5.6.19,GD支持:已启用,未安装ImageMagick,宽范围硬件校准监视器。
Notes
<确保图像已保存在sRGB颜色空间中
prior 上传到WordPress。这将防止颜色和饱和度损失。
更改质量设置不会影响已上传的图像。使用插件,如Regenerate
Thumbnails t更新已上载的图像。
WordPress v4中的默认质量设置为82。5起。