Les travailleurs Web sont-ils autorisés à accéder à un objet canvas?Web Workers and Canvas
Répondre
Petite mise à jour, car la question est maintenant plus d'un demi-an:
En Chrome/Chrome 6, vous pouvez maintenant envoyer une toile imageData objet à un travailleur web, laissez le travailleur web apporter des modifications à la objet, puis réécrivez-le sur le canevas à l'aide de putImageData (..).
Google Chromabrush fait cette façon, le code source est disponible ici:
Mise à jour:
Les derniers instantanés de développement Opera (10.70) et Firefox (4.0b1) supportent également ImageDa ta objets à un travailleur Web.
Mise à jour 2017:
liens réels de Github (plus facile de trouver les fichiers nécessaires à partir Chromabrush
):
n °
La spécification a été mis à jour postMessage quelques mois en arrière pour vous permettre d'afficher des objets imageData mais encore personne n'a mis en œuvre que le comportement (nous sommes tous pour y arriver). Le problème avec canvas lui-même est que c'est un élément DOM et donc ne fonctionne pas dans un worker (il n'y a pas de DOM). Cela a été soulevé récemment sur les listes de diffusion whatwg ou web-apps, donc je pense que nous allons commencer à voir s'il est possible de fournir une API semblable à CanvasRenderingContext2D dans les workers.
J'avais l'impression que le WebWorker ne permettrait aucune interaction avec un DOM comme cela se heurterait à prob possible lems si plusieurs webworkers font des changements. –
Le problème est que le DOM n'a pas de concept de concurrence, donc les travailleurs n'autorisent aucun état partagé. La seule façon de communiquer avec un worker est avec postMessage, et cela effectue un clone selon "l'algorithme de clonage structuré interne" qui peut être considéré comme JSON mais avec un support supplémentaire pour quelques types de clés (File, FileList, ImageData, Blob, Date et RegExp) – olliej
Cette réponse n'est pas à jour. L'autre réponse est maintenant meilleure. – Baxissimo
- 1. Canvas and Click Handlers (GWT)
- 2. javascript web workers - comment transmettre des arguments?
- 3. web workers: comment savoir si le navigateur le supporte?
- 4. Est-il sensé d'utiliser Web Workers pour un jeu?
- 5. Les Web Workers sont-ils eux-mêmes autorisés à avoir des threads Web Worker?
- 6. WPF Toile and Grid overlay
- 7. Comment empêcher HTML5 Web Workers de se verrouiller ainsi répondre correctement aux messages du parent
- 8. Flex: look and feel toile Désactivé
- 9. Canvas Animation
- 10. Silverlight and Session
- 11. HTML5 Large canvas
- 12. Service Web ASP.NET Fire and Forget (Sens unique)
- 13. Analyse des données du service Web. jQuery and Sharepoint 2007
- 14. Loops and Garbage Collection
- 15. Composants Canvas ou SVG UI
- 16. asp.net threading and gui
- 17. Javascript Canvas Flowcharting Project?
- 18. Canvas drawImage renvoie l'erreur
- 19. HTML5 - canvas createLinearGradient vertical
- 20. WPF Canvas Binding
- 21. Flex3 Canvas, ScrollBar
- 22. Android, Canvas, dessiner l'image
- 23. Facebook Canvas Redirect URL
- 24. Liaison à Canvas
- 25. transformer en canvas html
- 26. android canvas scroll
- 27. Silverlight Canvas Débutant Question
- 28. <tabcontrol et Canvas
- 29. HTML5 Canvas: globalCompositeOperation (gomme)
- 30. FBML Canvas Application Authentication
Laissez-moi deviner IE est différent? – Lothar