ブラウザだけでアニGIFのエンコードができるJSライブラリはas3gifのJSポートだった
画像の一部にモザイクをかけてGIFアニメにする - 音の鳴るブログ … 全部ブラウザでやっている。 CanvasからGIFアニメを作るライブラリ があって、試してみたら結構重かったので、インターフェイスはそのままでWebWorkerで処理するように改造したやつ を使っている。 ブラウザだけでアニGIFを作れるようになったんだなー、素晴らしいなーと思って、それを実現するライブラリがどんなものなのかをチェックしたらas3gif(GIFPlayer)のJSポートだった。 antimatter15/jsgif · GitHub 筆者の方は「処理が重い」とおっしゃっている。実際に試してみたところ、確かに重い(^^); as3gifは前にAS3で使ったことがあるライブラリなのだけど、その処理の重さはAS3でも同じだった。 検証の結果、その処理の遅さの大きな原因は、減色アルゴリズムの org.bytearray.gif.encoder.NeuQuant.as にあると分かった。どうもNeuQuantは色の再現性は高いのだけど処理が重いようだった。 そこで、色の再現性は多少犠牲にして速度優先で・・・とmediancutやoctreeのアルゴリズムを試したらかなり速くなったことを覚えている。特にmediancutは単純なだけに高速で、色の再現性もそれほど悪くはなかった。 ブラウザだけでアニGIFのエンコードができるのは画期的だと思うので、そのうちmediancutをJSに移植してみたい。 やる気が出たら(^^); 数値計算部分に最近話題のasm.jsを使ったらさらに速くなるかも? Firefox22が「asm.js」採用へ、JavaScriptがネイティブアプリに近い実行速度まで高速化 - GIGAZINE