2017-01-03 8 views
4

透明な背景とHTMLキャンバスを持つアニメーションがあります。Fabric.jsキャンバスにFlashアニメーション(または派生フォーマット)を統合

キャンバスにオブジェクトを追加する前に、アニメーションを再生する必要があります。

アニメーションソースはFlashファイルですが、HTML/JS(CreateJS)エクスポートとアニメーションGIFも利用できます。

キャンバスは、Reactアプリケーション内で実行されているFabric.jsを使用します。

私の質問は以下の通りです:

説明ユースケースでアニメーションを実装するための推奨方法は何ですか?

現時点では、私の最善のアプローチは、CreateJSエクスポートをReactアプリケーションに統合し、アニメーションを再生しながらFabric.JSキャンバスにCreateJSキャンバスをオーバーレイすることです。このソリューションは、別のキャンバスライブラリ(Fabric.jsに加えてCreateJS)を統合し、両方のタイミングを同期させる/アニメーションを正しく再生する必要があるため、複雑で悲惨な音がするかもしれません。ここで

は私がfabric.jsで画像を追加する唯一の方法を知っている同様の未回答の質問Animated GIF on Fabric.js Canvas

+0

あなたはシャムウェイを試すことができます:https://github.com/mozilla/shumway – neopheus

+0

は、私はあなたがにリンクされている質問に答えてきたので、これはあなたの回避策を提供します:あなたのアニメーションが、すべての解析、GIFへ変換このgifのフレームを作成し、スプライトシートを作成します。また、createjsキャンバスをrAFループ内のファブリックに描画することもできます。しかし、Flashコンテンツをキャンバスに直接描画する方法はありません。したがって、最終的な解決策の1つは、埋め込みコンテンツをキャンバス上にオーバーレイするためにDOM操作とCSSを使用することです。 – Kaiido

+0

@Kaiido "rAF loop"とはどういう意味ですか?例を表示できますか? –

答えて

-2

です。最初に、ページが読み込まれているときに画像を読み込んだ後、キャンバスに表示します。しかし、私が経験したことについては、fabric.jsはすべての要素に多くの機能を設定していますので、数千の画像を一緒に表示したい場合は読み込みが難しくなります。

var canvas = new fabric.Canvas('c'); 
var imgElement = document.getElementById('my-image'); 
var imgInstance = new fabric.Image(imgElement, { 
    left: 100, 
    top: 100, 
    angle: 30, 
    opacity: 0.85 
}); 
canvas.add(imgInstance); 
+0

アニメーションgifを読み込んで表示することは可能でしょうか? –

+0

http://stackoverflow.com/a/41559440/1744768アニメーションGIFの場合、キャンバスには1つのフレームしか表示されません –

関連する問題