【问题标题】:Wordpress image size crop but always proportionalWordpress 图像大小裁剪但始终成比例
【发布时间】:2013-11-06 11:00:27
【问题描述】:

我设置了一个add_image_size 函数,该函数通常只在一个维度上比上传的图像大。这会导致图像的一个维度被裁剪,而一个维度保持未裁剪,从而导致图像失去比例。结果,我得到了一组比例不均的图像。

期望的结果是,如果图像在一个维度上被裁剪,那么它会在另一个维度上按比例裁剪,这意味着如果需要,我可以使用 CSS 对其进行放大。

例如,我的图像尺寸是 1200 x 900。如果我上传 1100 x 1467 的图像。输出是 1100 x 900 的图像。但是,我需要的是 1100 x 825 的图像(与我设置的 1200 x 900 图像尺寸的比例相同,但较小,因为图像不足以满足此尺寸)。

这是带有参数的函数:

add_image_size( 'landscape-huge', 1200, 600, true);

但我似乎无法找到这样做的方法 - 这可能吗?

【问题讨论】:

  • 能否请您详细解释一下,以便我们轻松解决您的问题..!!
  • @KrunalShah 更新问题 :)
  • 您是否为add_image_size() 设置了$crop 参数?
  • @Max 是的,它只是不按比例裁剪,只裁剪图像中超出裁剪边界的部分。
  • 您介意将您当前使用的代码添加到您的问题中吗?如果您在add_image_size() 中将$crop 参数设置为false,它应该保持纵横比,也就是执行“软裁剪”。

标签: wordpress image crop


【解决方案1】:

因为它是 wordpress 的默认功能,但你可以改变,去 wp-include 文件夹然后 media.php 并找到这些行

$s_x = floor( ($orig_w - $crop_w) / 2 );

$s_y = floor( ($orig_h - $crop_h) / 2 );

改成

 $s_x = 0;

 $s_y = 0;

它会为你工作。

【讨论】:

  • 您不应该编辑核心文件,因为它们会在您更新 WordPress 时被覆盖。这就是过滤器和操作的用途。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多