要素がcanvasあり、キャンバス上の画像を PNG または JPEG に変換する必要があるとします。もちろん、単純に を使用することもできますcanvas.toDataURLが、問題は、これを 1 秒間に 20 回行う必要があり、canvas.toDataURL非常に遅いことです。ブラウザーが PNG への変換でビジーであるため、キャプチャ プロセスがフレームを見逃すほど遅いのです。
私の考えは、 を呼び出すことcontext.getImageData(...)です。これは明らかにはるかに高速であり、返さCanvasPixelArrayれた を Web Worker に送信します。Web Worker は生の画像データを PNG または JPEG に処理します。canvas.toDataURL問題は、Web Worker 内からネイティブにアクセスできないことです。代わりに、純粋な JavaScript に頼る必要があります。Node.js 向けのライブラリを探してみましたが、C++ で書かれています。生の画像データを PNG または JPEG にレンダリングする純粋な JavaScript のライブラリはありますか?