【问题标题】:ImageMagick resizing to an abstract rectangleImageMagick 调整为抽象矩形
【发布时间】:2012-06-26 22:29:09
【问题描述】:

我收到了一张未知大小的图片。我想缩小它,使其适合 640x480 或 480x640,同时保持纵横比。我希望图像缩小最小量(例如,结果应该是适合 640x480 或 480x640 的最大尺寸)。

例如,如果我有一个 800x800 的图像,它应该缩小到 480x480。如果我有一个 500x1000 的图像,它应该缩小到 320x640。同样,1000x500 应该变成 640x320。

我可以在 ImageMagick 中通过一个命令执行此操作吗?不应发生裁剪,并且应保留原始图像的纵横比。谢谢!

【问题讨论】:

标签: imagemagick


【解决方案1】:

在不裁剪和保留宽高比的情况下调整图像大小很容易,但我认为您无法在单个命令中实现您的非此即彼。

geometry specification docs 开始,将超大图像调整为 640x480 很容易:

convert input.png -resize 640x480> output.png

这只会在必要时调整大小,不会裁剪,并且会保留纵横比。

根据您输入的图像,您也许可以使用区域运算符:

convert input.png -resize $((640*480))@ output.png

但这只有在所有输入图像的纵横比都已经是 4/3 或 3/4 时才有效。

我认为你最好的选择是一个简短的 shell 脚本:

wider_than_tall=`identify -format %w/%h input.png`
if (( $wider_than_tall )); then
  convert input.png -resize 640x480> output.png
else
  convert input.png -resize 480x640> output.png
fi

【讨论】:

    猜你喜欢
    • 2015-07-19
    • 2022-06-13
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2012-08-27
    • 2012-02-11
    • 1970-01-01
    • 2018-06-13
    相关资源
    最近更新 更多