46

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

我可能应该为此使用 ImageMagick ...

4

2 回答 2

92

您可以使用 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,并在手册页中获取有关每个命令的更多详细信息。有很多功能,但在谷歌上找出其余的应该不难。(我一直这样做。)

于 2013-04-13T11:27:41.073 回答
5

只是为@janos 答案添加一些内容。根据文档http://www.imagemagick.org/Usage/resize/#geometry,我没有使用以前版本的 ImageMagick,但在 v6 或更高版本上

几何是一个非常特殊的选项。操作员在每个 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
于 2019-05-23T10:44:28.260 回答