51

这似乎是一个相当普遍的问题,所以我将使用尽可能多的关键字来问它!

我有一堆(好吧,九个)平铺 jpeg,带有标准平铺文件名。每个 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
4

3 回答 3

44

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

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
于 2010-06-27T18:37:53.957 回答
35

戴夫的解决方案对我不起作用,所以我在这里找到了更好的答案。尝试这个:

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”)

于 2013-01-03T05:26:11.553 回答
4

我个人将这个最小命令用于此类任务:

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

geometry +0+0不会添加任何边框并保留每个图像的原始大小(非常推荐的选项)。

于 2018-12-05T14:13:21.973 回答