【发布时间】:2012-11-07 18:02:47
【问题描述】:
据我所知,Wordpress 仅在所需图像尺寸较小时(而不是在目标尺寸相同时)生成缩略图(例如,“大”)。
我用
add_image_size( 'referenzen-big', 627, 490, true );
所以如果我的客户上传一个 627x490px 的文件,就会使用原始图片。
但这不是我们所希望的,因为这是出于善意的习惯,它会以正确的大小上传图像,并且还可以进行最高的 .jpg 压缩。在这种情况下,这导致图像大约为 300kB。
一种实用但技术上并非完美无缺的方法是让他上传 628x490 的图像,因此宽度增加 1px,从而强制重新缩放。这样的建议将不被接受:-)
到目前为止,我已经调查了负责图像创建的钩子,并跟踪了负责的函数;这是我找到的最后一个钩子: image_make_intermediate_size()
这是负责实际调整大小的函数: image_resize_dimensions()。 甚至有一句话说:
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h )
return false;
那么我该如何启用这个“强制调整大小”功能呢?
【问题讨论】:
-
据我了解您的担忧,请问在可用时使用原始尺寸有什么问题?
-
上传的图片太大了,300kB左右,对于相关页面来说太大了。
-
你可以随时降低质量(如果是jpg):
add_filter('jpeg_quality', 'jpeg_quality_callback'); function jpeg_quality_callback($arg) { return (int)100; // or 80 or whatever } -
请注意这一段: > 但这不是我们所希望的,因为这个习惯,真诚地,上传正确尺寸的图像,并且尽可能高的 .jpg 压缩。在这种情况下,这会导致图像大小约为 300kB。
-
检查wordpress.stackexchange.com/questions/21544/… 中接受的答案,以获得该问题的良好答案。您可以使用 wp_get_attachment_image() 实现相同的目的