假设我有一个canvas
元素,我需要将画布上的图像转换为 PNG 或 JPEG。当然,我可以简单地使用canvas.toDataURL
,但问题是我需要每秒执行 20 次,而且canvas.toDataURL
速度非常慢- 太慢以至于捕获过程会丢失帧,因为浏览器正忙于转换为 PNG。
我的想法是调用context.getImageData(...)
,这显然要快得多,并将返回的数据发送CanvasPixelArray
给 Web Worker,然后它将原始图像数据处理成 PNG 或 JPEG。问题是我无法canvas.toDataURL
从 Web Worker 中访问本机,因此我需要求助于纯 JavaScript。我尝试搜索用于 Node.js 的库,但这些库是用 C++ 编写的。纯 JavaScript 中是否有任何库可以将原始图像数据呈现为 PNG 或 JPEG?