Comment optimiser les images dupliquées dans un GIF animé à l'aide de Photoshop?

10

J'ai expérimenté une technique appelée cinemagraphs . Cette technique crée des GIF animés où seule une petite partie de la scène est animée. En voici une rapide que je viens de faire:

entrez la description de l'image ici

Jusqu'à présent, Photoshop fait un bon travail avec la compression des parties statiques de la scène. En masquant uniquement la partie mobile, vous pouvez économiser plusieurs mégaoctets.

entrez la description de l'image ici

Ce que Photoshop n'optimise pas bien, ce sont les images dupliquées. Pour obtenir une boucle parfaite, je duplique toutes les images et les inverse. Dans l'exemple ci-dessus, le présentateur se tourne vers la gauche et doit revenir à sa position d'origine. Cela double toujours la taille du GIF . Comment dire à Photoshop d'optimiser les images dupliquées tout comme il optimise les zones statiques? Dans le menu du panneau Chronologie, j'ai déjà utilisé l'option "Optimiser les animations" mais cela n'a rien fait ...

JoJo
la source
Je ne pense pas que Photoshop ait un mécanisme pour voir les "images en double". Il voit simplement des pixels similaires entre les images. Et même alors, je ne crois que l'image précédente et suivante.
Scott
@Dominic Je n'aurai aucun contrôle sur CSS / JS. Je posterai ces gifs sur d'autres sites. Scott: Savez-vous comment PS partitionne les parties statiques des parties dynamiques? S'agit-il d'une boîte englobante (cercle, triangle, etc ...)? Combien de zones dynamiques sont autorisées? Etc ...
JoJo

Réponses:

3

Si je comprends votre question, vous avez une animation avec (disons) 5 images. Les cadres 1 & 5, 2 & 4 sont identiques. Donc, vous aimeriez que Photoshop joue le gif comme ceci: 1,2,3,2,1.

Malheureusement, c'est impossible avec un gif animé. Les gifs sont construits pour permettre aux données de couler, affichant la trame suivante en séquence pendant le chargement des données. La première trame est considérée comme globale et ses données peuvent être utilisées dans chaque trame suivante. Ainsi, la première image définit la base, puis "Optimiser l'animation" rend les pixels identiques transparents dans les images au-delà de la première. Il n'y a donc aucun moyen de rejouer une image précédente, ils doivent être exécutés même si une image est identique à l'image actuelle. Wikipedia l' explique plus en détail que moi.

Il y a longtemps, j'ai fait quelque chose de similaire (jetez un œil au menu) à ce que vous recherchez via javascript et des séquences numérotées de jpgs. Le script lit les images 1-10 au survol de la souris, puis 10-1 au survol de la souris.

Fireflight
la source