У меня есть каталог с изображениями, которые я хочу превратить в gif.imagemagick конвертировать отдельные задержки кадра в gif
Каждое имя файла следует этой схеме: <zero_padded_index>_<delay_in_milliseconds>.gif
Пример:00001_1432.gif
я могу создать GIF анимацию с ImageMagick: convert -loop 0 -delay 10 *.gif out.gif
Проблема заключается в том, я хочу каждый кадр, чтобы иметь различная задержка, основанная на второй цифре в ее имени.
convert -delay 0 -loop 0 *.gif output.gif
for gif in *.gif; do
name=${gif%.gif}
index=$(echo ${name%-*} | sed 's/0*//')
delay=${name#*-}
# 1. convert milliseconds to w/e imagemagick -delay uses.
# 2. update the frame at the correct index.
done;
Я постепенно наращиваю gif? Или вернуться и изменить их после факта? Мои отбивные imagemagick не соответствуют номиналу.
[Не разбирайте вывод 'ls'] (http://mywiki.wooledge.org/ParsingLs), вместо этого вы можете использовать globbing:' для gif_file in * .gif; делать [...]; done'. Также укажите свои переменные. 'cut' также не требуется, вы можете использовать подстановку параметров для одной и той же задачи. –