In my application I have a function that processes Canvas ImageData. It looks something like this:
function processData(imagedata, filters) {
var data = im
Just thought I would add one more solution to this thread along with a link to the duplicate thread on which I found the solution. I am re-posting it here because, in my case it offered an advantage.
They propose simply cloning the data of the ImageData object with
var dataCopy = new Uint8ClampedArray(imageData.data);
Later, if you want to restore this data to an ImageObject you use
imageData.data.set(dataCopy);
imageData may be the original instance from which you cloned the data or a new ImageData object.
In my case this method is better because I am working with ImageData objects inside of a WorkerThread. WorekerThreads are not allowed access to the canvas object or its context so as far as I can tell the techniques here would not help me. This solution; however, did the trick. Thanks All.
Duplicate Thread Offering Other Solutions.