0

動的に生成された画像を必要とする meteor.js を使用してアプリを構築しています。動的に生成された小さな画像がたくさんあります。ピクセルごとに生成すると、合計で 1 秒あたり最大 25000 ピクセルの画像が必要になります。これはかなりの計算負荷であることを認識したので、Meteor のサーバー メソッドを使用してプロセスを高速化することにしました。

今のところ、これが私の機能的な試みです:

ピクセル配列のサーバー側生成

loadImage = function(){
    this.imagePixels = new Uint8Array(4*DIM*DIM);
    for(var i = 0; i < DIM; i++){
    for(var j = 0; j < DIM; j++){
        var x = 255*i/DIM;
        var y = 255*j/DIM;
        this.setPixel(this.imagePixels,
                      i, j, eval(this.redEQ)
                          , eval(this.greenEQ)
                          , eval(this.blueEQ)
                          , 255);
        }
    }
}

その後、いくつかの中間処理が発生し (コードは示されていません)、データがクライアントに送り返され、次のように uint8array.set を介して「画像」がキャンバスに配置されます。

var elem = document.getElementById(this.canvasID);
var ctx = elem.getContext('2d');
var imageData = ctx.getImageData(0, 0, DIM, DIM);
var data = imageData.data;
data.set(this.evo.pixels);
ctx.putImageData(imageData, 0, 0);

これはすべて問題なくダンディです... 私にはスピードが必要です。そうは言っても、ここに私の質問があります:

HTMLキャンバスに効率的に配置できるnode.js内にJSONシリアル化可能な画像を作成することは可能ですか?

4

0 に答える 0