2013年10月6日日曜日

JavaScriptでGIFアニメの分解と逆再生やってみたかった

ネット上に転がっているGIFアニメ、とても好きなのですが、フレーム早すぎてなにが写っているかわからないものもあったりでフレーム毎に分割したいと思うことが何度かありました。
ImageMagickとかで分割とかはとても楽にできますが、貧弱なサーバーだとちょっとアクセス来ただけで残念なことになってしまうので、クライアント側でできないのかなってことでJavaScriptで実行してみることにした。

一応それなりに動くところまでできたので公開します。
現在Chrome拡張機能だけです。Firefoxはそのうち……

ソース&説明: https://github.com/aaharu/gifken/tree/master/sample/chromeextension
ダウンロード: https://www.dropbox.com/s/gkrl4scag4hf2tt/chromeextension.crx

実際使うとどんな感じになるのか?
こんな感じになります。

GifgigのとあるGIFアニメ。うまくできた&わかりやすい画像選んでみました。
岐阜gazo - まどマギ


右クリックで「GIFアニメ分解」を選択


新しいタブで結果画像が表示される


ArrayBufferでバイナリ解析できるので、それで実装しています。バイナリ解析行っているところはTypeScriptで実装してみました。
不完全なので、うまくいかない画像あったら教えてください。

0 件のコメント:

コメントを投稿