如果我有 2 个 Canvas :
第一个 Canvas (canvas1) 是包含文本的基本 Canvas ,将保存为图像 (canvas1 + canvas2)。
第二个 (canvas2) 包含可以通过 keydown
在 canvas2 中移动的图像。该代码适用于 canvas2,因为我首先清除了 canvas2,然后清除了 context2.drawImage(img,x,y)
。
但是如果我写( canvas1.drawImage(canvas2, 0, 0)
然后图像的运动显示在 Canvas 1 中。如果我说清除 Canvas 1 然后 canvas1。 drawImage(canvas2, 0, 0)
文本将消失。
所以我的问题是:当用户完成移动图像而不是在图像移动过程中时,如何在 Canvas 1 上绘制 Canvas 2?
最佳答案
我不是很清楚你为什么要这样做,但如果你希望 Canvas 1 始终显示 Canvas 1+2,那么你可以随时保存 Canvas 1 的内容:
- 将 Canvas 1 绘制到内存中的 Canvas (称为 canvas3)
- 将 Canvas 2 绘制到 Canvas 1
- 将 Canvas 3(保存在 Canvas 1 中)绘制回 Canvas 1
关于javascript - 合并两个 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685403/