Browse Source

Using fast pixels copy in putBinaryImageData

Yury Delendik 13 years ago
parent
commit
65bc78d870
  1. 12
      src/canvas.js

12
src/canvas.js

@ -1281,12 +1281,14 @@ function checkPutBinaryImageDataCompatibility() {
function CanvasGraphicsPutBinaryImageDataShim(ctx, imgData, w, h) { function CanvasGraphicsPutBinaryImageDataShim(ctx, imgData, w, h) {
var tmpImgData = ctx.getImageData(0, 0, w, h); var tmpImgData = ctx.getImageData(0, 0, w, h);
// Copy over the imageData pixel by pixel.
var tmpImgDataPixels = tmpImgData.data; var tmpImgDataPixels = tmpImgData.data;
var len = tmpImgDataPixels.length; var data = imgData.data;
if ('set' in tmpImgDataPixels)
while (len--) { tmpImgDataPixels.set(data);
tmpImgDataPixels[len] = imgData.data[len]; else {
// Copy over the imageData pixel by pixel.
for (var i = 0, ii = tmpImgDataPixels.length; i < ii; i++)
tmpImgDataPixels[i] = data[i];
} }
ctx.putImageData(tmpImgData, 0, 0); ctx.putImageData(tmpImgData, 0, 0);

Loading…
Cancel
Save