Ich habe ein Verzeichnis voller Bilder, die ich in ein gif verwandeln möchte.imagemagick konvertieren Einzelbild Verzögerung in GIF
Jeder Dateiname folgt diesem Muster: <zero_padded_index>_<delay_in_milliseconds>.gif
Beispiel: convert -loop 0 -delay 10 *.gif out.gif
Das Problem ist, möchte ich jeden Frame ein haben:00001_1432.gif
ich die GIF-Animation mit imagemagick erstellen unterschiedliche Verzögerung basierend auf der zweiten Ziffer im Namen.
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;
Kann ich das GIF inkrementell aufbauen? Oder geh zurück und ändere sie nach der Tat? Meine Imagemagick Koteletts sind nicht auf Augenhöhe.
[Parsen Sie nicht die Ausgabe von 'ls'] (http://mywiki.wooledge.org/ParsingLs), Sie können stattdessen Globbing verwenden:' für gif_file in * .gif; machen [...]; fertig. Zitieren Sie auch Ihre Variablen. 'cut' wird ebenfalls nicht benötigt, Sie können die Parameterersetzung für die gleiche Aufgabe verwenden. –