Вы можете вызвать
context.getImageData(0, 0, context.canvas.width, context.canvas.height);
, который вернет объект ImageData.У него есть свойство с именем data типа CanvasPixelArray, которое содержит значения rgb и прозрачности всех пикселей.Эти значения не являются ссылками на холст, поэтому их можно изменить, не затрагивая холст.
Если вы также хотите получить копию элемента, вы можете создать новый элемент холста, а затем скопировать все атрибуты в новый элемент холста.,После этого вы можете использовать метод
context.putImageData(imageData, 0, 0);
, чтобы нарисовать объект ImageData на новом элементе canvas.
Подробнее см. В этом ответе getPixel из HTML Canvas? по манипулированию пикселями.
Вы можете также найти эту статью о Mozilla https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Drawing_shapes