Using fast pixels copy in putBinaryImageData
This commit is contained in:
parent
e17d828b64
commit
65bc78d870
@ -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…
x
Reference in New Issue
Block a user