2012-08-27 1 views

Répondre

1

La réponse courte est que JavaScript n'a aucun moyen simple de contrôler l'image actuelle d'un GIF animé. La réponse longue est qu'il existe des moyens de faire ce que vous voulez avec JS, mais ce sont des hacks très compliqués.

Exemple de méthode hackish: Créez un canevas et ne l'ajoutez pas au DOM (donc personne ne le verra). Dans une boucle rapide (setTimeout), dessinez sur cette toile en permanence et collectez des instantanés. Comparez le canvas ImageData pour voir si les frames ont changé ou non.

+0

Cela ne devrait pas fonctionner: 'lorsqu'un objet CanvasImageSource représente une image animée dans un HTMLOrSVGImageElement, l'agent utilisateur doit utiliser l'image par défaut de l'animation (celle que le format définit doit être utilisée lorsque l'animation n'est pas supportée ou désactivé) ou, s'il n'y en a pas, la première image de l'animation, lors du rendu de l'image pour les API CanvasRenderingContext2D [html.spec] (https://html.spec.whatwg.org/multipage/scripting.html # dom-context-2d-drawimage # images-sources-pour-2d-rendus-contextes). Mon test confirme ce comportement dans FF – SleepProgger