2017-08-16 10 views
0

J'essaye de créer un GIF en utilisant quelques cadres exportés de Scilab. Les cadres sont nommés anim_1.gif, anim_2.gif ... et ainsi de suite jusqu'à 100ImageMagick: mauvais ordre de trame GIF

J'utilise cette ligne dans le shell Windows pour créer le GIF:

convert -delay 10 -loop 0 anim_*.gif animation.gif 

Mon problème est que pour ce que j'ai vu ImageMagick crée le GIF pas avec l'ordre numérique mais avec l'ordre 1,10,100,11,12 ..., 2,20,21 ... et ainsi de suite

Je ne suis pas vraiment familier avec ImageMagick et en lisant les pages d'aide n'a pas vraiment aidé:/

Est-ce que quelqu'un voit une solution?

Merci

Répondre

1

Une liste de répertoire par défaut montrera 1, 10, 100, etc. avant 2, 20, etc. C'est l'ordre ImageMagick utilisera pour les lire lors de l'utilisation d'une liste générique. Renommer les fichiers avec des zéros comme anim_001.gif, anim_002.gif, etc. permettrait de résoudre votre problème. Consultez le manuel Scilab pour voir comment sauvegarder les fichiers avec des zéros en tête. Une autre méthode possible, en supposant que vos fichiers d'entrée sont en ordre en fonction du temps de création, est de faire une liste par date/heure, de rediriger la sortie vers un fichier texte, puis de lire les images d'entrée de cette liste. L'utilisation d'un "@" et du nom du fichier indiquera à IM que vous lisez la liste des images d'entrée à partir d'un fichier texte. Vous pouvez essayer quelque chose comme ça ...

dir /o:d /b anim_*.gif > tmp.txt 
convert -delay 10 -loop 0 @tmp.txt animation.gif 
0

J'ai déjà essayé la première option qui n'a pas fonctionné mais la seconde, merci beaucoup.

Je ne suis pas vraiment sûr de comprendre ce qui se passe. Je ne comprends pas vraiment la première ligne et pourquoi IM est maintenant capable de lire la trame dans le bon ordre. Je suppose que le fichier .txt stocke les images par ordre de temps de création et, d'une manière ou d'une autre, lorsque IM lit le fichier .txt, il lit l'heure de création au lieu du nom pour trouver le bon ordre. Est-ce que c'est ça? Merci beaucoup beaucoup de toute façon :)