【发布时间】:2019-10-30 17:07:31
【问题描述】:
我一直在查看 imagemagick 的文档并查看其他人制作的脚本示例,但我无法使其正常工作。
目标是让 imagemagick 缩放、裁剪和保存(将尺寸附加到文件名)多个不同纵横比的调整大小的图像。
例如,包含 Image1.png 和 Image2.png 的文件夹会导致:
Image1_1571x2646.png, Image1_1350x2150.png, Image1_1281x2039.png
Image2_1571x2646.png, Image2_1350x2150.png, Image2_1281x2039.png
视觉辅助:
上面的动画展示了最简单的例子:一个 1:1 的正方形、一个垂直的矩形和一个水平的矩形。
图像应缩放以适合矩形的最长尺寸,然后裁剪任何剩余像素。缩放和裁剪应相对于图像中心进行。
这是我目前所拥有的(使用 macOS 终端),但它不起作用:
convert *.png -path /Users/user/Resized \
\( +clone -resize "1571x2646^” -gravity center -crop 1571x2646+0+0 +repage resultimage -write 1571x2646.png +delete \) \
\( +clone -resize "1350x2150^” -gravity center -crop 1350x2150+0+0 +repage resultimage -write 1350x2150.png +delete \) \
-resize "1281x2039^” -gravity center -crop 1281x2039+0+0 +repage resultimage 1281x2039.png
我不确定我应该使用 mogrify 还是 convert,但如果我使用 mogrify,clone 会出错。我也不确定是否需要将多行指令放入 .sh 文件或其他文件中。 ^ 表示应优先考虑的维度(较大的维度)。我相信 -gravity center 应该相对于图像中心保持缩放和裁剪。
【问题讨论】:
标签: image-processing