@oleww05

Как склеить изображение в ImageMagic?

Использую цикл
#!/bin/bash
z1=({0..3}); z2=({4..7}) #...
for((i = 1; i < 3; ++i)); do
declare -n a=z$i
for n in ${a[@]}; do
echo montage -monitor /untitled/a/$i/$n.jpg -geometry +0+0 -tile 4x1 /untitled/b/$i.jpg
done
done

В результате оно просто перезаписывает изображение в 1.jpg и 2.jpg, но не склеивает в 1 файл
montage -monitor /untitled/a/1/0.jpg -geometry +0+0 -tile 4x1 /untitled/b/1.jpg
montage -monitor /untitled/a/1/1.jpg -geometry +0+0 -tile 4x1 /untitled/b/1.jpg
montage -monitor /untitled/a/1/2.jpg -geometry +0+0 -tile 4x1 /untitled/b/1.jpg
montage -monitor /untitled/a/1/3.jpg -geometry +0+0 -tile 4x1 /untitled/b/1.jpg

montage -monitor /untitled/a/2/4.jpg -geometry +0+0 -tile 4x1 /untitled/b/2.jpg
montage -monitor /untitled/a/2/5.jpg -geometry +0+0 -tile 4x1 /untitled/b/2.jpg
montage -monitor /untitled/a/2/6.jpg -geometry +0+0 -tile 4x1 /untitled/b/2.jpg
montage -monitor /untitled/a/2/7.jpg -geometry +0+0 -tile 4x1 /untitled/b/2.jpg

Если выполнить так, то работает, но вручную прописывать не подходит:
montage -monitor /untitled/a/1/{0..3}.jpg -geometry +0+0 -tile 4x1 /untitled/b/1.jpg
montage -monitor /untitled/a/2/{4..7}.jpg -geometry +0+0 -tile 4x1 /untitled/b/2.jpg
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
Если выполнить так, то работает, но вручную прописывать не подходит:

А скрипт поправить?
#!/bin/bash
z1=({0..3}); z2=({4..7}) #...
for((i = 1; i < 3; ++i)); do
declare -n a=z$i
FILES=()
for n in ${a[@]}; do
FILES[${#FILES[@]}]="/untitled/a/$i/$n.jpg"
done
montage -monitor "${FILES[@]}" -geometry +0+0 -tile 4x1 /untitled/b/$i.jpg
done
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы