我对此进行了搜索,但找不到一个易于实施的解决方案。
目前我正在开发一个处理全景图的应用程序。它们经过批量拼接处理后,平均尺寸为 18000x4000。如何使用 ImageMagick 将这些图像缩小到特定的高度值,同时保持纵横比不变?
根据手册,该convert
操作需要同时调整高度和宽度,同时保持相同的纵横比。我想要在现有的调整大小脚本函数中输入 600 和 1000,这样既可以获得常规的可视图像,也可以获得缩小后的图像。
答案1
根据ImageMagick 的文档我建议使用-geometry x600
,而x600
意味着新图像具有高度为 600 像素,长宽比相同和旧图像一样。
为一个单幅图像你可以运行:
convert input.png -geometry x600 output.png
如果你希望转换文件夹中的所有图像在一次运行中,切换到它(即cd ~/Pictures/panoramas/
)并使用
mogrify -geometry x600 *.png
但要小心,因为它覆盖原始图像文件。为了避免这种情况,你可以
- 新建一个文件夹 (
mkdir ~/Pictures/panoramas/small
) - 将图像复制到此文件夹(
cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small
)并 - 编辑此新文件夹中的图像(
cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png
)。
答案2
要调整文件夹中所有文件的大小,可以使用类似
mogrify -调整大小 800x1094!*jpg
--- 根据需要更改尺寸和扩展