2011-11-04 87 views
1

我正在寻找克隆画布元素的方法。基于this question我想是这样的,它的工作:有没有办法在使用excanvas时克隆画布元素?

var canvasContext = $("#canvas1")[0].getContext("2d"); 
canvasImageData = canvasContext.getImageData(0, 0, canvasContext.canvas.width, canvasContext.canvas.height); 
$("#canvas2")[0].getContext("2d").putImageData(canvasImageData, 0, 0); 

不过,我还需要IE8和下方支撑。我正在使用excanvas,它不支持图像数据方法。

当使用excanvas时,还有另一种方法来实现这一点吗?

回答

1

你倒霉了,对不起。

唯一的另一种方法是使用`drawImage,因为您可以使用它绘制一个画布到另一个画布。

但不支持drawImage这个特殊功能,因为没有“真实”的画布可以放在第一位(只是一堆假装看起来像画布的VML)。还有这里该功能的请求:

http://code.google.com/p/explorercanvas/issues/detail?id=92

但其可能性微乎其微,这将做它来excanvas。自2010年3月20日以来,Excanvas尚未更新。我强烈建议您考虑转换为全功能SVG/VML而不是画布或放弃对IE8的支持。

0

尝试保存内容excanv.getContext('2d').element_.innerHTML。如果你重用它,你将克隆上下文路径的内容。

例如代码:

变种excanv = G_vmlCanvasManager.initElement(节点);

//用excanv的背景做你的绘图....等等。

var excanv2 = G_vmlCanvasManager.initElement(node2); excanv2.getContext('2d')。element_.innerHTML = excanv.getContext('2d')。element_.innerHTML;

相关问题