1

Я использую инструмент анимации 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 ответа2

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
0

Использовать спецификатор формата %04d (0 означает ноль слева, 4d означает 4 десятичных знака):

convert C1.*.png -flop C1right.%04d.png

Приведенные имена будут

C1right.0000.png
C1right.0001.png
C1right.0002.png

Примечание: в ImageMagick версии 7+ просто замените команду convert magick .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .