如何设置ImageMagick蒙太奇的顺序

问题描述 投票:0回答:1

我想不按自然顺序(左-右-上-下)对图像进行排序,而是按上-下-左-右的顺序。因此,当我有 8 张图像时,我希望将前 4 张图像放在第一列中,将图像 5-8 放在第二列中。

1 5
2 6
3 7
4 8

但正如蒙太奇使用指南我得到:

1 2
3 4
5 6
7 8

我正在使用

montage -mode concatenate -tile 2x4 input_*.png output.png

我发现了一个类似的问题here,但是使用

-scene
的答案不会影响结果。

另一种方法是分两步完成,因此首先使用

montage -mode concatenate -tile 1x{nrOfRows} input_*.png output.png
创建行,然后使用
montage -mode concatenate -tile {nrOfColumns}x1 output*.png result.png
创建包含上一个命令的输出的列。

问题是,目前我有 1024 张图像,并且希望它们的尺寸为 64x16,因此 output.png 变成了

output_0.png
output_63.png
。所以当我运行第二个命令时,顺序是:

output_0.png
output_1.png
output_10.png
...
output_19.png
output_2.png
output_20.png
....

所以有些行不正确。

感谢每一个提示!

(目前我通过 Windows 机器上的 cmd 进行测试,但后来想在 Linux 机器上使用 PHP 进行测试)

php windows cmd imagemagick
1个回答
0
投票

总结一下:

rows=10
columns=20
  • left to right, top to bottom
    顺序连接图像:
    montage -mode concatenate -tile ${columns}x${rows} input*.jpg output.jpg
    
  • left to right, top to bottom
    顺序连接图像:
    montage -mode concatenate -tile 1x${rows} input*.jpg _tmp_%04d.jpg
    montage -mode concatenate -tile ${columns}x1 _tmp_*.jpg output.jpg
    rm _tmp_*.jpg
    
© www.soinside.com 2019 - 2024. All rights reserved.