【发布时间】:2015-07-28 00:35:13
【问题描述】:
edit:最终目标是 2:1 的宽高比,没有裁剪,最大尺寸为 1260x630。如果图像尺寸最初低于 1260x630,则应保持在 1260x630 以下。
努力把这个词说得好(这很可能是我没有找到好的答案的原因)。
如果图像本身大于给定大小(宽度或高度),我正在尝试使用 ImageMagick 将图像大小调整为 1260x630。
调整大小后,我需要将纵横比更改为 2:1,而不切断图像。我已经使用以下方法通过较大的图像很好地完成了这一点:
convert foobar-original.jpg \
-resize 1260x630\> \
-gravity center \
-extent 1260x630 \
foobar.jpg
以 1500x500 的图片为例,使用上述方法,首先变为 1260x420(通过调整大小),然后变为 1260x630(通过范围),并且用白色背景填充多余的宽度。
但是,如果图像开始时较小,例如 800x200,则图像未调整大小(如预期的那样),但随后会调整为适合完整的 1260x630。这不是预期的结果。
我宁愿-extent 简单地影响纵横比,根据需要添加白色。因此,不是将 800x200 图像转换为 1260x630,图像的 800x200 部分位于中心,而是将图像转换为 800x400(即 2:1 比例),额外的高度用空白填充。
基本上,我正在寻找一种将-extent 设置为纵横比而不是特定大小或百分比的方法。类似的东西
convert foobar-original.jpg \
-resize 1260x630\> \
-gravity center \
-extent 2:1 \
foobar.jpg
【问题讨论】:
标签: image imagemagick image-resizing