5

headless-gl を使用して Node.js で webGL を実行し、サーバー上で動的にイメージを作成しています。作成された画像は、ユーザーが API を介して再度画像にアクセスする前に、データベース (MongoDB) に保存されます。

以下は、画像が生成される部分です。

var pixels = new Uint8Array(width * height * 4)
gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels)

その後、ピクセルは base64 に変換されます (これは、クライアント HTML の Image によってロードされる推奨される方法と思われるためです)。

var base64Image = new Buffer(pixels, 'binary').toString('base64');

ただし、このバッファーによって生成された文字列をデコードしてイメージを生成することはできません。ピクセルが「バイナリ」タイプではない可能性がありますか? または、ピクセル文字列をデータベースに保存し、キャンバスのピクセルをクライアントでピクセルごとに再描画する必要があります (これが最善の方法だとは思いません)。

4

2 に答える 2