2011-11-21 11 views
5

E 'possibile dare ad un utente finale la possibilità di salvare come un singolo file un'animazione creata lato client con Canvas HTML5 - diverso dal salvare l'intero HTML della pagina?Salvataggio di un'animazione creata con HTML5 Canvas

Ci sono un sacco di tutorial su come salvare come PNG, ma l'animazione è persa in questi casi.

risposta

2

Non c'è un modo "facile" per farlo.

Ecco una domanda simile ... Grabbing each frame of an HTML5 canvas

Si potrebbe seguire questo approccio e afferrare le cornici e inviare questi a uno script lato server per compilarli in una GIF animata.

Un'altra opzione, sebbene non trival, sarebbe implementare un codificatore GIF JavaScript puro. La specifica GIF può essere trovata qui, http://graphcomp.com/info/specs/gif89a.txt

Se la tabella dei colori rimane la stessa in ciascun fotogramma, probabilmente si possono unire i fotogrammi dagli URL GIF già codificati senza dover comprimere i dati a livello di pixel. Dovresti comunque decodificare il flusso base64 da Canvas.toDataURL.

2

È possibile utilizzare mjbuilder, è una libreria che consente di salvare i frame su tela in un file mpeg. Ma ha problemi e funziona solo su Firefox.

http://ushiroad.com/mjpeg/

+0

Oggi mi è stato richiesto in quella biblioteca e per questo posso risolvere il problema per i browser moderni: https://github.com/theshock/VideoBuilder – Shock