在 web worker 中解码 JPEG

Decode JPEG in web worker

如何在 Web Worker 中解码 JPEG 以访问像素数据,而不包括解码 JPEG 的代码(由我自己或第 3 方编写),而是使用内置浏览器 API.


我知道我可以在主线程中将 JPEG 渲染到 canvas,读取像素数据,然后将它传递给工作人员(如果这是我想要的),但我正在专门调查在 worker 中解码 JPEG 的可能性。

我也知道我可以使用第三方库,但我想知道浏览器中是否有内置的东西可以做到这一点,因为必须发送复制浏览器功能的代码似乎很奇怪。

tl;dr: No.

经过你的编辑,是否可以使用built-in API(目前只有canvas)的问题答案是否定的。您不能创建 HTMLElement,包括 Web Worker 中的 canvas,因为它们是 GUI 组件,并且大多数 GUI 框架拒绝允许 GUI 组件在 GUI 线程之外实例化。

这当然很不幸,这意味着根本无法使用原生 API (CanvasRenderingContext2D) 进行任何图像操作。

我现在回答的问题已经有人提出并回答了:Web Workers and Canvas

我建议收藏该问题以进行更新 - 我也希望将来网络工作者可以进行图像处理。