我在“媒体设置”下定义了以下图像大小:
Thumbnail Size: 125x69
Medium Size: 461x257
Large Size: 1070x600
我有
EWWW Image Optimizer 和
Regenerate Thumbnails 安装在最新WP(4.8)上。我检查了EWW优化器上的“高级设置”,在下面的屏幕截图中,它列出了我认为将生成的大小。
然而,当我上传图像或强制重新生成缩略图时,生成的图像的宽度根本不匹配。例如,我上传了一幅1070x600的图像,下面是它实际生成的大小:
image-123x69.jpg
image-294x165.jpg
image-323x181.jpg
image-335x188.jpg
image-458x257.jpg
image-679x381.jpg
image-768x431.jpg
我可以理解高度会因纵横比的不同而有所不同,但我不明白为什么它甚至会改变生成图像的宽度?
我在函数中只有一部分代码。php如下所示:
// Add custom image sizes
add_image_size(\'home-thumbnail-highlight\', 694, 381);
add_image_size(\'home-thumbnail\', 330, 181);
add_image_size(\'listing-thumbnail\', 342, 188);
add_image_size(\'sidebar-small-thumbnail\', 300, 165);
这个问题意味着,例如,当我使用缩略图(125xh)时,图像会稍微像素化,因为生成的图像是123xh,而渲染的图像是125xh。我是否遗漏了一些明显的内容,或者是否有办法确保生成的宽度始终与“媒体设置”页面中的宽度相匹配?
最合适的回答,由SO网友:Jared Cobb 整理而成
默认情况下add_image_size
将尝试调整自定义图像大小,而不是裁剪它们(请参见函数中的第四个参数)。
所以你有几个选择。。。
通过传球进行裁剪true
对于的第四个参数add_image_size
, 或者通过为第四个参数传递数组来自定义裁剪的位置(请参见文档)。这将强制按照定义精确调整图像尺寸(例如,“主页缩略图高光”将为694x381)
设置height
设置为非常高的值,并且不传递第四个参数进行裁剪(以执行调整大小)例如:add_image_size(\'home-thumbnail-highlight\', 694, 99999);
add_image_size(\'home-thumbnail\', 330, 99999);
add_image_size(\'listing-thumbnail\', 342, 99999);
add_image_size(\'sidebar-small-thumbnail\', 300, 99999);
这将强制您的自定义尺寸始终以宽度约束,而不是高度约束。