Как сделать изображения равноудаленными с помощью imagemagick/montage?

В настоящее время я использую эту команду:

montage IMG*.JPG -tile 3x1 -geometry 150x100+40+40 -background '#000000' triptych.jpg

И это производит вывод как это (добавленные красные линии): слишком много места

Проблема (как указано) состоит в том, что мои изображения имеют слишком много места между ними, и это меня огорчает.

Я пытаюсь создать нечто, похожее на это, с границей, равной полностью вокруг:

равноудаленное совершенство

Я проверил man-страницу и несколько онлайн-руководств, но ни один из вариантов, которые я пробовал (-mode concatenate, изменяя геометрию на +40+20) сделал что хотел.

Как получить вывод, который я хочу, используя imagemagick?

2 ответа

Решение

Если вы только делаете триптих, вы можете лучше convert +append выложить изображения в ряд с проставками. Итак, если ваши изображения 1.png, 2.png а также 3.png:

convert -background black \
  1.png xc:black[10x] 2.png xc:black[10x] 3.png +append \
  -bordercolor black -border 10 result.png

введите описание изображения здесь

xc:black[10] это просто две проставки, которые вы можете установить ширину явно. Затем три изображения с проставками устанавливаются в горизонтальный ряд, используя +append, Наконец, в конце я поставил границу вокруг всего участка с -border,

Или, показывая, как вы имеете полный контроль над всеми аспектами:

convert -background black \
  1.png xc:black[15x] 2.png xc:black[5x] 3.png +append \
 -bordercolor black -border 40 result.png

введите описание изображения здесь

Как говорит Уэйн в комментариях, вы можете изменить размер всех изображений до одинакового размера, пока они еще не -append, так что вы можете сделать это, чтобы убедиться, что ни одно изображение не будет шире, чем 400 пикселей.

convert -background black \
  1.png xc:black[10x] 2.png xc:black[10x] 3.png -resize 400x\> +append \
  -bordercolor black -border 10 result.png

Если вы хотите еще больше контроля, вы можете индивидуально изменить размер изображения следующим образом:

convert -background black               \
  \( 1.png -resize WxH \) xc:black[10x] \
  \( 2.png -resize AxB \) xc:black[10x] \
  \( 3.png -resize MxN \) +append       \
  -bordercolor black -border 10 result.png

Если вы хотите вертикальный триптих, используйте -append на месте +append и установите высоту распорки с помощью xc:black[x10] скорее, чем xc:black[10x],

convert -background black \
  1.png xc:black[x10] 2.png xc:black[x10] 3.png -append \
  -bordercolor black -border 10 result.png

введите описание изображения здесь

Ключевые слова: триптих, диптих, фотомонтаж, фотограф, фотография, фото, расстояние, проставка, прокладка

Другой метод - сделать это в два этапа.

      montage img-*.png -background '#000' -geometry +20+20 step-1.png # step 1
convert step-1.png -bordercolor '#000' -border 20 step-2.png # step 2

На шаге 1 вы получили зеленый интервал. И на шаге 2 вы получили красный интервал

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