Mam katalog pełen obrazów, które chcę zamienić w gif.imagemagick konwertuj pojedyncze opóźnienie ramki w gif
Każda nazwa pliku następuje ten wzorzec: <zero_padded_index>_<delay_in_milliseconds>.gif
Przykład:00001_1432.gif
mogę tworzyć animację GIF z ImageMagick: convert -loop 0 -delay 10 *.gif out.gif
Problem polega na tym, chcę każda ramka mieć różne opóźnienia w oparciu o drugą cyfrę w nazwie.
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;
Czy stopniowo buduję gif? Lub wrócić i zmienić je po fakcie? Moje kotki imagemagick nie są równe.
[Nie parsuj danych wyjściowych 'ls'] (http://mywiki.wooledge.org/ParsingLs), możesz zamiast tego użyć globowania:' dla pliku gif w * .gif; robić [...]; done'. Podaj również swoje zmienne. 'cut' też nie jest potrzebne, możesz użyć podstawiania parametrów dla tego samego zadania. –