You can easily resize and copy the image or canvas to another canvas.
context.drawImage(image, dx, dy, dw, dh) allows you to resize any image (or canvas) that you want to draw when you draw it.
You can draw a 100x100 image as 50x50 or 200x200.
In addition, there is context.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh) if you only want to draw part of the original image.

Do you want the drawn images to change and move? What a whole "black worm of worms", such functionality is not built into the canvas, which means you have to do it. I wrote a short tutorial on getting resizable, relocatable objects in a canvas , which is a good place to start.
source share