Я должен преобразовать большое количество (~10k) .xpm
файлы, сгенерированные моим кодом к a .gif
файл.
Я использовал ImageMagick, как проинструктировано здесь: Как преобразовать полосу PNG в GIF?
Но мои имена файлов похожи plot*.xpm
, * от 0 до 10 000 и команда преобразования, кажется, не понимает это правильный и делает a .gif
файл только с несколькими кадрами.
они заканчивают где-нибудь неслучайным распределением синих и зеленых точек. (Как круг синего цвета в середине) в говорят 1000-й кадр. (Я не могу включать, это - изображение из-за регистрации пределов),
Я использую эту строку кода: convert -loop 0 -delay 10 -page +0+0 /*.xpm output.gif
Я думаю, что должен использовать другой метод для представления .xpm
файлы к ImageMagick.
Что мне делать?
Кажется, что все Ваши изображения преобразовываются, но не в надлежащем порядке, как Вы ожидаете.
Согласно моему опыту, convert
команды не могут работать с файлами с тем же форматом имен файлов, который Вы использовали. Это работает над файлами с этим видом:
file100
file10
file11
file1
file200
file20
file21
file2
...
Так, необходимо переименовать все файлы перед преобразованием. Так, Ваши имена файлов должны стать как:
file00001
file00002
...
file00010
...
file10000
Это - то, что я записал. Посмотрите, если использование его решило бы Вашу проблему:
rename 's/plot(\d{1})\.xpm/plot0000$1\.xpm/' * # plot#.xpm > plot0000#.xpm
rename 's/plot(\d{2})\.xpm/plot000$1\.xpm/' * # plot##.xpm > plot000##.xpm
rename 's/plot(\d{3})\.xpm/plot00$1\.xpm/' * # plot###.xpm > plot00###.xpm
rename 's/plot(\d{4})\.xpm/plot0$1\.xpm/' * # plot####.xpm > plot0####.xpm
convert -loop 0 -delay 10 *.xpm output.gif