2013-11-14 11 views
6

Mi chiedo se esiste un modo per impedire a un browser di animare effettivamente una gif animata, caricata in un tag <img>. Voglio solo che visualizzi il primo fotogramma della gif e non suoni l'animazione.È possibile caricare una gif animata senza riprodurre l'animazione?

ho già temere che questo non è possibile e devo estrarre il primo fotogramma e renderlo ad una tela ...:/

+0

Perché hai bisogno di una tela per questo? – PeeHaa

+0

Perché il tag canvas sarebbe l'unico modo per eseguire il rendering del primo fotogramma della gif animata. –

+0

È possibile farlo dal lato server? Il modulo GD di PHP caricherà solo il primo fotogramma di una GIF di default, ad esempio – Bojangles

risposta

2

Questo è un pò una soluzione costosa, ma se si ripristina un'immagine SRC un brevissimo setInterval appare ad esempio come statica:

setInterval(function() { 
     document.getElementById('img1').src = document.getElementById('img1').src 
},1) 

Demo: http://jsfiddle.net/MEaWP/6/

0

forse questo è troppo semplice una risposta per voi, ma si può solo aprire l'immagine GIF animata in un programma di editing di immagini di vostra scelta, cioè Adobe Photoshop o qualsiasi altro gratuito e quindi basta salvare la GIF senza l'animazione.

Quindi ri-caricare la nuova GIF (senza l'animazione) ovunque si servano le immagini.

Se si utilizza Photoshop, è sufficiente aprire il file. GIF e passare a Finestra> Animazione nel menu. Questo mostrerà tutti i frame della GIF animata in una nuova finestra di dialogo.

Basta eliminare tutti i frame e Salva come. Basta non sovrascrivere l'originale con l'animazione se ne avrai ancora bisogno in seguito.

+0

Non è scritto chiaramente nella mia domanda iniziale ma la soluzione dovrebbe funzionare in-browser, dal momento che non controllo le immagini gif . Gli utenti li caricano. –

Problemi correlati