[spoiler]
Исходная задача такая:
У меня есть набор картинок в png формате каждая из которых это один кадр из жизни персонажа. Если их быстро быстро просмотреть одну за другой, то персонаж как бы делает два шага.
Что должно получиться в итоге:
Один файл (png) в котором эти кадры выстроены слева на право.
Берём
Сначала сделаем временный каталог и скопируем туда наши файлики с 053.png до 078.png
Затем обрежем края и сохраним получившиеся размеры в файлы width.info и height.info
rm -f *.info && for f in `ls 0*|sort`; do convert $f -trim +repage trim$f identify -ping -format '%w' trim$f >>width.info identify -ping -format '%h' trim$f >>height.info done |
Далее приведём их всех к одному размеру, центрируя по горизонтали и выравнивая по нижней границе (параметр -gravity South).
width=`cat width.info |sort -n|tail -1` height=`cat height.info |sort -n|tail -1` for f in `ls trim*|sort`; do convert $f -gravity South -background transparent -extent ${width}x${height} size$f; done |
Осталось сцепить их в "ленту"
convert `ls size*|sort` +append walking.png |