2011-08-27 12 views
5

私はこのリアルタイム描画アプリケーションをnode.js、socket.io、およびhtml5 canvasで構築しました。クリックされた状態でマウスが移動されるすべてのピクセルが追跡され、ブロードキャストされます(他のコンピュータの描画入力を表示するため)。どのようにキャンバスの状態をdbに保存しますか?

キャンバスのイメージを保存することは可能ですが、このキャンバスは非常に大きい(10000x10000 +ピクセル)ことがわかりました。今、ページが更新されると、すべての図面が消えてしまいます(単にソケットを送信しただけなので、何も保存されません)。

私はすべてのキャンバスデータをdbに保存してから、ページが再び読み込まれたときに何らかの形で書き換えたいと思いますが、それは単純すぎます。あなたはこれについてどうやって行きますか?

答えて

1

キャンバスをソケット上に送信している間にそのように見えるようにしたクリックとマウスの動きを追跡し、それらをシミュレートしてイメージを再構築することができます。

+0

これは、マウスストロークのすべての単一ピクセルのミリ秒に一度のデータベースエントリです。それが可能なのかどうかはわかりません。私はより効率的な方法が必要です。 – sdfadfaasd

+1

@Alley毎ミリ秒ごとに1つずつ提出する必要はありません。数秒ごとにDBに書き込むことができます。品質の低下が気にならない場合は、少数おきにピクセルを保持し、それらを結ぶ線があるとします(ドットを結ぶと思います)。 –

+0

ええと、非常に大きなグリッドでも動作すると思いますか? – sdfadfaasd