1

アニメーションGIFのすべてのフレームの画像データをブラウザで再生しながら操作したいのですが、HTML5キャンバスとJavascriptを使用して操作したいと思います。たとえば、アニメーションGIFがあり、ブラウザで再生するときにすべてのフレームをグレースケールに変換したいとします。これは可能ですか?アニメーションGIFの画像データを操作すると、最初のフレームのみが表示され(正しく操作され)、gifはそれ以上再生されません。これに対する解決策があれば、これは非常に便利なテクニックです。ありがとうございました。

編集:JavascriptでアニメーションGIFの現在のフレームをクエリする方法はありますか?アニメーションの進行中にputImageDataを画像に使用できますか?

4

1 に答える 1

2

このページで指摘されているように、drawImage()を使用してキャンバスにGIFを描画できます。現時点では、GeckoとWebKitのGIFから現在のフレームを描画しますが、Operaでは描画しません。仕様なので、この動作に依存することはお勧めできません。私の知る限り、DOMから個々のフレームデータを取得する方法はありません。jsgifを書く前にしばらくこれを調べました(これは別の回答で言及されていますが、実際には実際の使用を目的としたものではありません。たとえば、非常に非効率的です)。

サーバーでフレームを解凍してから手動でアニメーション化する(Gmailのように)ことができる場合は、それが最善の選択肢かもしれません。

于 2011-04-17T22:20:40.983 に答える