这是有效的,但我觉得这段代码很冗长.
我正在寻找更好的主意.
我正在寻找更好的主意.
var clone = function(imageData) { var canvas,context; canvas = document.createElement('canvas'); canvas.width = imageData.width; canvas.height = imageData.height; context = canvas.getContext('2d'); context.putImageData(imageData,0); return context.getImageData(0,imageData.width,imageData.height); };
解决方法
使用
TypedArray.prototype.set()
,您可以直接复制数据.
var imageDataCopy = new Uint8ClampedArray(originalImageData.data); imageDataCopy.data.set(originalImageData.data);
这将imageDataCopy的内容设置为与originalImageData相同.