合并两幅画布

时间:2011-07-13 20:45:13

标签: javascript html5 canvas

如果我有2幅画布:

第一个画布(canvas1)是包含文本的基本画布,将保存为图像(canvas1 + canvas2)。

第二个(canvas2)包含一个可以在canvas2中通过keydown移动的图像。代码在canvas2中工作正常,因为我先清除了canvas2然后context2.drawImage(img,x,y)

但是,如果我写(canvas1.drawImage(canvas2, 0, 0),那么图像的移动将显示在画布1中。如果我说清除画布1然后canvas1.drawImage(canvas2, 0, 0)文本将消失。

所以我的问题是:当用户在图像移动过程中完成移动图像时,如何在画布1上绘制画布2?

2 个答案:

答案 0 :(得分:3)

我不完全清楚你为什么要这样做,但是如果你想让Canvas 1总是显示画布1 + 2,那么你总是可以保存Canvas 1的内容:

  1. 将Canvas 1绘制到内存中的画布(称之为canvas3)
  2. 将画布2画到画布1
  3. 将Canvas 3(已保存Canvas 1)绘制回Canvas 1
  4. http://jsfiddle.net/Jvgxb/14/

答案 1 :(得分:0)

尝试相互制作两个DIV。每个DIV应该包含你的一幅画布:)