Фотомонтаж 3 изображения в сетке 2x2, сначала в центре вверху (как "triforce")?

Не уверен, как поставить этот вопрос иначе - но давайте предположим, что у меня есть три квадратных изображения. Я хотел бы расположить их в виде квадратной сетки 2x2, чтобы изображение 2 было слева внизу, изображение 3 - справа внизу, а изображение 1 - в центре вверху (поэтому изображение 1 не находится в ячейках сетки сверху; ни левая, ни правая ячейка, но в центре строки, разделенной ими).

Самое близкое, что я мог получить, был с этим тестом, сделанным на Ubuntu 14.04, montage --version ImageMagick 6.7.7-10 2017-07-31 Q16:

montage \
  <(convert -size 100x100 xc:green bmp:-) \
  <(montage \
     <(convert -size 100x100 xc:blue bmp:-) \
     <(convert -size 100x100 xc:red  bmp:-) \
     -geometry +5+5 bmp:- \
   ) \
  -geometry +5+5 -tile 1x2 bmp3:- | display

... или в виде одной строки:

montage <(convert -size 100x100 xc:green bmp:-) <(montage <(convert -size 100x100 xc:blue bmp:-) <(convert -size 100x100 xc:red  bmp:-) -geometry +5+5 bmp:- ) -geometry +5+5 -tile 1x2 bmp3:- | display

Полученное изображение:

imgck1

Вместо этого я хочу что-то вроде этого (я редактировал это вручную в редакторе изображений):

imgck-edit.png

... что-то вроде старого мема Triforce (Википедия)

Как я могу добиться этого с помощью ImageMagick montage?

1 ответ

Решение

Это может быть случай, когда команда ImageMagick "конвертировать" будет вам лучше, чем "монтаж". Вот пример, который должен дать вам почти тот же результат...

convert -size 100x100 xc:green xc:blue xc:red -bordercolor white -border 5 \
   \( -clone 1,2 +append \) -delete 1,2 -gravity center -append -border 5 out.bmp

Использование "convert" может дать вам больше свободы в размещении изображений, используя "+ append" и "-append", чтобы прикрепить их, "-gravity" для выравнивания и "-border" для разнесения.

Другие вопросы по тегам