使用imagemagick的蒙太奇命令一起粘贴平铺图像,而无需调整大小

时间:2010-05-17 22:25:47

标签: image imagemagick tiles

这似乎是一个相当常见的问题,所以我会用尽可能多的关键字来考虑它!

我有一堆(好的,九个)平铺jpeg,带有标准的tile文件名。每个jpeg是220x175像素:

(top row)
tile_1_0_0.jpg
tile_1_1_0.jpg
tile_1_2_0.jpg
(middle row)
tile_1_0_1.jpg
tile_1_1_1.jpg
tile_1_2_1.jpg
(bottom row)
tile_1_0_2.jpg
tile_1_1_2.jpg
tile_1_2_2.jpg

我如何使用imagemagick / montage“粘合”或将它们连接在一起以制作单个连贯的图像?我根本不想调整它们的大小,所以我猜最终的图像应该是660x525。

那将是没有框架,阴影,边界等的蒙太奇 - 只有九个原始图像,粘在一起制作一个jpeg。

我知道它应该是这些方面的东西,但我正在努力获得订单并确定正确的尺寸:

montage +frame +shadow +label -tile 3x3 -geometry <options> *.jpg joined.jpg

3 个答案:

答案 0 :(得分:35)

我当时想要做类似的事情并最终在这里(我猜你的“尽可能多的关键词”是有效的)。这就是我想出的对我有用的东西。 (根据您的需要调整几何和瓷砖)

montage -border 0 -geometry 660x -tile 3x3 tile* final.jpg

文件会水平添加到图块中,因此,对于-tile 4x2,处理方式为:

1 2 3 4
5 6 7 8

数字是参数列表中文件名的相对位置。

据我所知,tile*将按字母顺序展开,因此您应该手动指定文件名,或者重命名,以便他们进行适当的排序,例如:

# top row
tile_r0_c0.jpg
tile_r0_c1.jpg
tile_r0_c2.jpg
# middle row
tile_r1_c0.jpg
tile_r1_c1.jpg
tile_r1_c2.jpg
# bottom row
tile_r2_c0.jpg
tile_r2_c1.jpg
tile_r2_c2.jpg

答案 1 :(得分:27)

Dave的解决方案对我不起作用,所以我找到了更好的答案here。试试这个:

montage -mode concatenate -tile 3x3 tile*.jpg result.jpg

它也没有第二个“3”

montage -mode concatenate -tile 3x tile*.jpg result.jpg

Windows用户的完整行是:

"C:\Program Files\ImageMagick-6.8.0-Q16\montage.exe" -mode concatenate -tile 3x tile*.jpg result.jpg

(当然,用你自己的ImageMagick版本更改“6.8.0-Q16”)

答案 2 :(得分:0)

我个人使用此最小命令来完成这些任务:

montage tile*.jpg -tile 3x3 -geometry +0+0 output.jpg

geometry +0+0不会添加任何边框,并且不会保留每张图像的原始大小(建议使用此选项)。