Web Workers und Leinwand
-
16-09-2019 - |
Frage
Web-Arbeiter erlaubt eine Leinwand Objekt zugreifen?
Lösung
Kleines Update, da die Frage ist jetzt mehr als ein halbes Jahr alt:
In Chrome / Chromium 6 Sie können jetzt eine Leinwand senden an einen Web-Worker-Objekt Imagedata, lassen Sie die Web-Arbeiter auf das Objekt Änderungen vornehmen und es dann auf die Leinwand zurück schreiben mit putImageData (..) .
Google Chromabrush tut es auf diese Weise kann der Sourcecode hier:
Update:
Die neueste Entwicklung Schnappschüsse von Opera (10.70) und Firefox (4.0b1) unterstützt auch Imagedata-Objekte an ein Web-Arbeiter übergeben.
Update 2017:
Die tatsächlichen Verbindungen von Github (einfachen benötigten Dateien von Chromabrush
zu finden):
Andere Tipps
Nein.
Die postmessage spec wurde ein paar Monate aktualisiert zurück, damit Sie Imagedata Objekte schreiben, aber noch niemand hat dieses Verhalten umgesetzt (wir alles bekommen). Das Problem mit der Leinwand selbst ist, dass es ein DOM-Element ist und so nicht in einem Arbeiter nicht funktioniert (es gibt keinen DOM).
Dies entweder auf kürzlich die WHATWG oder Web-Anwendungen Mailinglisten erhöht wurde, so vermute ich, wir beginnen bei der Suche, ob es möglich ist, eine CanvasRenderingContext2D artige api in Arbeitnehmern.