Web Workers e Canvas
-
16-09-2019 - |
Pergunta
são trabalhadores web permissão para acessar um objeto de tela?
Solução
update pequeno, como a questão é agora mais do que metade de um ano de idade:
No Chrome / Chromium 6 agora você pode enviar uma tela objeto ImageData a um trabalhador web, deixe os trabalhadores web fazer alterações no objeto e, em seguida, escrevê-lo de volta para a tela usando putImageData (..) .
Google Chromabrush faz isso dessa maneira, o código-fonte pode ser encontrada aqui:
Update:
Os últimos snapshots de desenvolvimento do Opera (10,70) e Firefox (4.0b1) também suportam passando ImageData objetos a um trabalhador web.
Atualização de 2017:
ligações reais de Github (mais fácil encontrar arquivos necessários de Chromabrush
):
Outras dicas
Não.
O postMessage especificação foi atualizado há alguns meses para permitir que você postar ImageData objetos, mas como ainda ninguém implementou esse comportamento (todos nós estamos chegando lá). O problema com a própria tela é que é um elemento DOM e assim não funciona em um trabalhador (não há DOM).
Esta questão foi levantada recentemente em ambos o WHATWG ou web-apps listas de discussão, então eu suspeito que vamos começar a procurar para saber se é possível fornecer uma CanvasRenderingContext2D-like api em trabalhadores.