ImageMagick或许最为人熟知的是它作为编写软件(例如PerlMagick)不可或缺的图形库。但我也在工作中广泛使用它们的 shell 工具进行图像批量处理,甚至在这篇博客中也是如此。
几十年来我一直这样使用它:
$ WIDTH=250 $ DOUBLE=$( expr $WIDTH \* 2 ) $ magick input.png -resize ${WIDTH}x output.png $ magick input.png -resize ${DOUBLE}x double.png
ImageMagick 将自动计算缺失的尺寸,同时保留其纵横比,因此您可以将新尺寸指定为$ WIDTH=250 $ DOUBLE=$( expr $WIDTH \* 2 ) $ magick input.png -resize ${WIDTH}x output.png $ magick input.png -resize ${DOUBLE}x double.png
${WIDTH}x
或x${HEIGHT}
。
如果您要按已知比例调整大小,这种方法是可行的,但如果您想按原始比例调整大小怎么办?比如说,按原始大小的 50% 调整?您可以使用identify
来获取图像的大小,然后将其传递给expr
或您选择的除以二的方法。
或者,您可以让 ImageMagick 为您完成此操作:
我喜欢找到这样的捷径。这样可以消除$ magick input.png -resize 50%x fifty-percent.png
这些年来,我编写了这么多帮助脚本的代码。
作者: Ruben Schade ,悉尼,2025 年 8 月 4 日。