【发布时间】:2016-10-12 13:58:28
【问题描述】:
是否可以使用一些屏幕外画布从服务人员创建动态生成的图像?
我可以想象,如果它存在这样的东西,它是一项非常新的技术,但我在规范中没有找到关于创建画布的来源......是否有可能在任何浏览器后面的任何实验标志甚至一些讨论/问题吗?
【问题讨论】:
-
我最初的想法是否定的,因为 WebWorker 将无法访问 DOM,因此无法访问画布或创建自己的画布。我也不确定您是否也可以将画布上下文传递给 WebWorkers,但这可能是一种研究途径。见Is there a way to create out of DOM elements in Web Worker?。您尝试从画布中使用哪些方法?
-
是的,甚至不能传递上下文,你会得到一个
DataCloneError。 -
developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas 会有所帮助,但仅适用于 Firefox。
-
@Blindman67 如果您将此作为答案发布,我会将其标记为已接受。只有一个问题。如果您无法在 service worker 中创建
new Image(),如何从缓存/服务器中的现有图像加载 imageData? -
您必须通读文档。您可以使用其中一种通信 API(webSockets、webRTC),但不确定它们在工作人员上下文中是否可用,但通过消息系统将数据传递给工作人员的开销并不大。
标签: javascript canvas service-worker