2012-11-02 87 views
10

我正在使用Fabric.js,並在一個位置創建了一個Fabric canvas對象。使用fabric js獲取畫布對象

var x = new fabric.Canvas("mycanvas"); 

現在,在另一個地方,我想訪問該對象,其中的「x」將不可用。那麼我怎樣才能獲得相同的布料畫布對象。

我不想改變x的範圍或將x傳遞給arg。

另外,如何從織物畫布對象中獲取toDataURL?

+0

如果您沒有提供參考,它將無法訪問。這就是範圍的工作原理。 – alex

回答

18

假設mycanvas是Canvas元素的ID,你可以存儲Canvas元素本身的參考結構對象:

var x = new fabric.Canvas("mycanvas"); 
document.getElementById("mycanvas").fabric = x; 

然後你可以檢索對象,你想要的任何時間:

var y = document.getElementById("mycanvas").fabric; 
var url = y.toDataURL("png", 1); 
+0

y是織物畫布對象,因此您需要以不同的方式使用toDataURL [請參閱此文件](http://fabricjs.com/docs/fabric.Canvas.html#toDataURL) – Rotem