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で実装してみました。
不完全なので、うまくいかない画像あったら教えてください。