2011-11-04 99 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;

相關問題