Imagemagick - 将图片调整为高度为25像素且保持宽高比

57

好的,我有一个包含16张图片的文件夹,所有图片的尺寸都在205x150到103x148之间。 我想将它们缩小到高度和宽度为25像素,并在透明背景上水平堆叠...这可行吗?

我应该使用ImageMagick完成这个任务...


相关链接:https://dev59.com/jmIj5IYBdhLWcg3wAwr4 | https://dev59.com/ObTma4cB1Zd3GeqP9Jos - Ciro Santilli OurBigBook.com
2个回答

108

你可以使用ImageMagick来完成所有这些操作。

由于您的问题不是非常具体,因此以下是一张快速命令示例备忘单,可能对您有所帮助:

# resize image to width 25, keeping aspect ratio
convert -geometry 25x src/image1.png out/image1.png

# resize image to height 25, keeping aspect ratio
convert -geometry x25 src/image1.png out/image1.png

# concatenate images horizontally
convert +append src/image1.png src/image2.png out/image12horiz.png

# concatenate images vertically
convert -append src/image1.png src/image2.png out/image12vert.png

此外,montage命令可能非常适合创建您正在寻找的最终图像(在透明背景上带有一些填充等),但我不记得语法。

另一个有用的命令是identify,可查找图像的尺寸(以及其他详细信息)。

安装ImageMagick后,您可以在man ImageMagick中查看命令列表,并在手册页中获取每个命令的更多详细信息。虽然有很多功能,但应该不难通过Google弄清剩下的部分。(我经常这样做。)


8

仅仅是对@janos的回答做一些补充。我没有使用过ImageMagick的早期版本,但根据文档,在版本v6或更高版本中 http://www.imagemagick.org/Usage/resize/#geometry

Geometry是一个非常特殊的选项。在每个IM命令中,操作符的行为略有不同,并且经常以特殊和神奇的方式运作。这样做的原因主要是由于历史遗留问题,如果可能的话应该避免使用。

因此,除了-geometry参数外,您仍然可以使用-resize并省略您想要的值,以保持宽高比。您还可以使用-quality参数,在调整大小时避免图像质量降低。质量的值介于1(最低图像质量和最高压缩)和100(最佳质量但压缩率最低)之间。您可以在此处阅读更多信息:https://imagemagick.org/script/command-line-options.php#quality

例如:

# resize image to height 25, keeping aspect ratio with quality 90
convert -resize x25 original_image.jpeg -quality 90 resized_image.jpeg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接