ImageMagick Добавить последовательность изображений Имена файлов
Я использую инструмент анимации Synfig для экспорта последовательности файлов.png. Они имеют следующий формат: C1.0000.png, C1.0001.png, C1.0002.png и так далее.
Я хочу преобразовать их в таблицу спрайтов (т.е. добавить их все вместе), однако мне также нужны те же анимации, но с переворотом.
Вот где у меня проблема. При использовании следующего синтаксиса:
convert C1.*.png -flop C1right.*.png
Я не получаю последовательность, похожую на то, что у меня было раньше. (C1right.0000.png, C1right.0001.png и т. Д.), Но вместо этого C1right.-0.png, C1right.-1.png и т. Д.
Само по себе это не так уж и плохо, но поскольку команда +append сортирует изображения по алфавиту, а не по номерам, я получаю последовательность, в которой не изображение 2 следует за изображением 1, а изображение 11 следует за изображением 1, а 2 заканчивается после 19,
Есть ли способ сохранить исходную структуру имени файла? Или есть способ убедиться, что приложение + сортирует файлы по номерам?
2 ответа
Только использование шаблонов глобуса не подойдет. Вы должны зациклить все файлы:
for f in C1*.png ;do convert $f -flop $(echo $f | sed 's/\./right./') ;done
Это будет выполнено так:
convert C1.01000.png -flop C1right.01000.png
convert C1.01001.png -flop C1right.01001.png
convert C1.01002.png -flop C1right.01002.png
Использовать спецификатор формата %04d
(0
означает ноль слева, 4d
означает 4 десятичных знака):
convert C1.*.png -flop C1right.%04d.png
Приведенные имена будут
C1right.0000.png C1right.0001.png C1right.0002.png
Примечание: в ImageMagick версии 7+ просто замените convert
команда с magick
,