问题
This seems like it might be a reasonably common question, so I'm going to ask it using as many keywords as I can think of!
I have a bunch of (well, nine) tile jpegs, with standard tile filenames. Each jpeg is 220x175 pixels:
(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
How can I use imagemagick/montage to 'glue' or join them all together to make a single, coherent image? I don't want to resize them at all, so I guess the final image should be 660x525.
That would be montage with no framing, shadowing, bordering, etc - just the nine original images, glued together to make a single jpeg.
I know it should be something along these lines, but I'm struggling with getting the order and sizing right:
montage +frame +shadow +label -tile 3x3 -geometry <options> *.jpg joined.jpg
回答1:
I was looking to do something similar and ended up here (I guess your "as many keywords as possible" thing worked). Here's what I came up with that worked for me. (geometry and tile adjusted for your needs)
montage -border 0 -geometry 660x -tile 3x3 tile* final.jpg
The files get added to the tiles horizontally, so, for -tile 4x2
, the disposition would be:
1 2 3 4
5 6 7 8
The numbers being the relative positions of the filenames in the argument list.
As far as I can tell, tile*
will expand alphabetically, so you should either specify your filenames manually, or rename then so that they'll sort appropriately, e.g.:
# 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
回答2:
Dave's solution didn't work for me, so I found a better answer here. Try this:
montage -mode concatenate -tile 3x3 tile*.jpg result.jpg
it also works without the second "3"
montage -mode concatenate -tile 3x tile*.jpg result.jpg
the complete line for Windows users is:
"C:\Program Files\ImageMagick-6.8.0-Q16\montage.exe" -mode concatenate -tile 3x tile*.jpg result.jpg
(change the "6.8.0-Q16" with your own version of ImageMagick, of course)
回答3:
I personally use this minimal command for such tasks:
montage tile*.jpg -tile 3x3 -geometry +0+0 output.jpg
geometry +0+0
will not add any border and conserve the original size of each image (a very much advised option).
来源:https://stackoverflow.com/questions/2853334/glueing-tile-images-together-using-imagemagicks-montage-command-without-resizin