2011-11-21 20 views
5

Czy można dać użytkownikowi końcowemu możliwość zapisania jako pojedynczy plik animacji utworzonej po stronie klienta za pomocą HTML5 Canvas - oprócz zapisywania całego kodu HTML strony?Zapisywanie animacji utworzonej za pomocą HTML5 Canvas

Istnieje wiele samouczków dotyczących zapisywania jako PNG, ale animacja jest tracona w tych przypadkach.

Odpowiedz

2

Nie ma "łatwego" sposobu na zrobienie tego.

Oto podobne pytanie ... Grabbing each frame of an HTML5 canvas

Można stosować to podejście i chwyć ramek i przedkłada je do skryptu po stronie serwera, aby skompilować je w animowanym GIF.

Inną opcją, choć nie jest to trival, byłoby wdrożenie czystego kodu JavaScript GIF. Specyfikację GIF można znaleźć tutaj, http://graphcomp.com/info/specs/gif89a.txt

Jeśli tabela kolorów pozostaje taka sama w każdej ramce, prawdopodobnie można połączyć ramki z już zakodowanych adresów URL GIF bez konieczności kompresowania danych na poziomie pikseli. Nadal trzeba dekodować strumień base64 z Canvas.toDataURL.

2

Można użyć mjbuilder, to biblioteka, która pozwala na zapisanie klatek canvas do pliku mpeg. Ale ma problemy i działa tylko w Firefoksie.

http://ushiroad.com/mjpeg/

+0

Dzisiaj było wymagane w tej bibliotece i dlatego ja go naprawić dla nowoczesnych przeglądarek: https://github.com/theshock/VideoBuilder – Shock