2009-12-08 14 views

答えて

59

小さなアップデート、質問は今の半分以上歳であるとして:

クロム/クロム6では、あなたが今のWebワーカーがに変更を加えてみましょう、ウェブワーカーにキャンバスのImageDataオブジェクトを送信することができますオブジェクトを作成し、putImageData(..)を使用してキャンバスに書き戻します。

GoogleのChromabrushそれがこの方法を行い、ソース・コードは、ここで見つけることができます:

更新:の

最新の開発スナップショットOpera(10.70)とFirefox(4.0b1)は、ImageDaオブジェクトをWebワーカーに提供します。

アップデート2017:(Chromabrushから必要なファイルを見つけることが容易)

実際のGithubからのリンク:私は印象WebWorker下

+1

私はIEが異なると思いましょうか? – Lothar

4

のpostMessage仕様は、あなたがImageDataをオブジェクトを投稿できるようにするために、数ヶ月前に更新されましたが、まだ誰も(私たちはすべてそこに取得している)その動作を実現していません。キャンバス自体の問題は、それがDOM要素なので、ワーカーでは機能しません(DOMがない)。

これは最近whatwgまたはweb-appsメーリングリストのいずれかで提起されたので、私たちは労働者にCanvasRenderingContext2DのようなAPIを提供することができるかどうかを調べ始めると思われます。

+0

ました可能性のあるprobに実行されるDOMとのやりとりを許可しません複数のWebワーカーが変更を行っている場合は、 –

+3

問題は、DOMに並行性の概念がないため、ワーカーは共有状態を許可しないということです。作業者とのコミュニケーションの唯一の方法はpostMessageであり、基本的にJSONと考えることができるが、いくつかの主要なタイプ(File、FileList、ImageDataなど)を追加サポートする「内部構造化クローニングアルゴリズム」に従ってクローンを実行する。 Blob、Date、RegExp) – olliej

+3

この回答は最新です。他の答えは今より良いです。 – Baxissimo

関連する問題