0

シンプルなpngの色を変更しようとしています。png は、透明度のある単純な形状のみを保持します。現時点では、キャンバス コンテキストを使用して色を変更しています。

var imageData = context.getImageData(0, 0, context.canvas.width, context.canvas.height);
var data = imageData.data;


for (var i = 0; i < data.length; i += 4) {
    data[i] = Kinetic.Util.getRGB(color).r;
    data[i + 1] = Kinetic.Util.getRGB(color).g;
    data[i + 2] = Kinetic.Util.getRGB(color).b;
}

// overwrite original image
context.putImageData(imageData, 0, 0);

Firefox では、キャンバスのレンダリングに時間がかかります。それで、他の解決策はありますか?

よろしく、 ラファエル

4

1 に答える 1

0

これをループの前に置くと、非常に高速になります。

var col = Kinetic.Util.getRGB(color);

次に、これをループで使用しました:

data[i] = col.r;
data[i+1] = col.g;
data[i+2] = col.b;
于 2013-08-04T08:21:10.523 に答える