Comment diviser un fichier .gif animé en ses images?


44

Comment puis-je facilement diviser un fichier .gif animé? Je veux voir chaque image.

Je préférerais vraiment ne pas exporter chaque image dans un répertoire. J'aimerais si possible les afficher individuellement dans une seule application.

Est-ce possible sous Linux?

Réponses:


54

Essayez de les ouvrir avec The Gimp; Je crois que cela ouvrira des gifs animés avec un calque par image.

Vous dites que vous ne voulez pas vider tous les cadres dans des fichiers d'un répertoire, mais je vais vous dire comment le faire quand même :) installez soit ImageMagick ou graphicsmagick, puis:

pour ImageMagick:

convert animation.gif target.png

pour graphicsmagick:

gm convert animation.gif target.png

il va écrire des cadres dans target0.png, target1.png, ... et ainsi de suite. Vous pouvez ensuite entrer dans le répertoire et le lancer eog, il vous montrera tous les cadres de la même application. Quand vous n’avez plus besoin des cadres, juste rm target*.png.


imagemagick est juste génial !!
fccoelho

1
imagemagic convert a échoué pour moi, car il semble que chaque image du gif était représentée comme un nouveau calque d'arrière-plans transparent, et convert a donné ces calques transparents: upload.wikimedia.org/wikipedia/commons/5/5d/AstarExample.gif
Ciro Santilli a annoncé le

J'ai ouvert mon gif dans gimp, mais je ne sais toujours pas comment afficher chaque image individuellement - je ne vois que la dernière image. Je travaille avec cette animation: /tmp/Non-Native-American-Nations-Territorial-Claims-over-NAFTA-countries-1750-2008.gif
nealmcb

3
GraphicsMagick doit être de la forme gm convert some-image.gif +adjoin some-image%d.pngpour fonctionner. Ou, gm convert some-image.gif -coalesce +adjoin some-image%d.pngpour des sous-trames de tailles variées avec des décalages variés.
l --marc l

1
L' option spécifiée convertmanque l' -coalesceoption, qui est requise pour ce à quoi un utilisateur s'attendrait.
Marcus

42

Si les différentes trames ont des zones transparentes et s’appuient mutuellement, vous pouvez utiliser la convertcommande avec l’ -coalesceoption " " pour générer un ensemble de fichiers target-0.png, target-1.png, etc., qui fusionnent la séquence de images:

convert -coalesce animation.gif target.png

1
Excellent commentaire mais besoin d'explication. Fondamentalement, cela résout le problème que @cirosantilli avait avec ImageMagick renvoyant ce qui semblait être des mises à jour de zones d'écran spécifiques. -coalesce fusionne ces mises à jour pour vous donner un rendu fini.
AnthonyVO

3
Il convient de noter que (à partir de la version 6.7.7 d'ImageMagick), il semble y avoir une fuite de mémoire: n'essayez pas -coalesceavec de longs .gifscreencasts , cela consommerait probablement toute la mémoire disponible et pourrait bloquer tout votre système.
gauche vers

4
vous pouvez spécifier les noms des fichiers de sortie via quelque chose comme:convert -coalesce animation.gif target.%04d.png
Trevor Boyd Smith

2

pour moi, avec ImageMagick(version info: 6.8.9-9 Q16 x86_64 2017-07-31)

convert gif.gif gif.pdf

fait un pdf avec chaque page étant un cadre du gif d’entrée, alors vous pouvez simplement feuilleter les cadres dans l’application de visualisation de pdf de votre choix


Cela semble trop compliqué et ne correspond pas à ce que veut OP.
David Foerster

Obtenir chaque image sous forme de page dans un fichier .pdf est une excellente idée. Il suffit de prendre en considération le fait que cette méthode peut être un buggy et que vous devez modifier l’application .
loved.by.Jesus

2

Utilisez MPV. Ouvrez-le sur le bureau. Faites glisser gif dedans. Prenez une capture d'écran de votre image souhaitée / unique avec la touche s. Vous pouvez même faire une pause si votre gif est rapide. Manière très rapide.

===========

vous souhaiterez peut-être utiliser ces paramètres d'abord [une fois que vous ne devez plus le faire] :

gedit ~/.config/mpv/mpv.conf

et entrez et enregistrez:

--screenshot-format Choix: jpg jpeg png (défaut: jpg)

pour une qualité png optimale:

--screenshot-format=png
--screenshot-png-compression=9

ou si vous voulez jpg

--screenshot-jpeg-quality Entier (0 à 100) (valeur par défaut: 90)

Utiliser mpv --list-options pour d'autres détails


Bonjour :) retour andrew.46. Essayé Gimp et frustré. mpv ne peut pas faire grand chose]
shantiq
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.