2012-04-28 5 views
0

大きな画像をいくつかの小さな画像に分割してから、それらの小さい画像でいくつかのデータ操作を実行したい。 2番目の部分は、私はWebワーカーにデータを渡すことができますが、画像の分割はキャンバスを使用しているため(ウェブワーカーはいません)、残りのページは実行中に反応しません。キャンバスを操作するときに反応しないようにする

これは、読み込み中のアニメーションが一時停止して無意味なものになることを除いて、実際問題ではありません。

GUIをフリーズせずに画像分割キャンバス操作を実行する最善の方法は何ですか?

+0

画像の分割にはどの操作が関係していますか?それを一連の操作に分割できますか? –

+0

これは、新しいキャンバスを作成し、元の画像の一部を新しいキャンバスに描画し、結果のdataURLを配列にプッシュするforループです。基本的に画像をタイルに分割します。 – Tom

+0

これで、非同期キューを作成できる場合があります。 [私の答えはこちら](http://stackoverflow.com/questions/5050265/javascript-nodejs-is-array-foreach-asynchronous/5050317#5050317)の2番目の部分を見てください。 –

答えて

0

getImageDataを一度に小さい方の矩形で使用するだけで、より良い結果が得られます。

適切なサイズを把握するのに時間がかかりますが、まずは200x200と400x400を試してみてください。

画像の5/10/15/20%の処理が完了すると、読み込みアニメーションを更新することもできます。

関連する問題