Веб-рабочие и холст

Доступны ли веб-рабочим доступ к объекту canvas?

Ответ 1

Небольшое обновление, так как вопрос сейчас более полугода:

В Chrome/Chromium 6 теперь вы можете отправить объект изображения "ImageData" веб-рабочему, позволить веб-работнику внести изменения в объект, а затем записать его обратно на холст с помощью putImageData (..).

Google Chromabrush делает это таким образом, исходный код можно найти здесь:

Update:

Последние снимки разработки Opera (10.70) и Firefox (4.0b1) также поддерживают передачу объектов ImageData веб-работнику.

Обновление 2017:

Фактические ссылки из Github (проще найти необходимые файлы из Chromabrush):

Ответ 2

Нет.

Спецификация postMessage была обновлена ​​несколько месяцев назад, чтобы вы могли публиковать объекты ImageData, но пока никто не реализовал это поведение (мы все получаем). Проблема с самим холстом заключается в том, что он является элементом DOM и поэтому не работает в рабочем месте (там нет DOM).

Это было поднято в последнее время в списках рассылки whatwg или web-apps, поэтому я подозреваю, что мы начнем смотреть, возможно ли предоставить рабочие возможности CanvasRenderingContext2D как работников.