使用fabric js时获取canvas对象

vij*_*iji 14 javascript jquery html5-canvas fabricjs

我正在使用Fabric.js,我在一个地方创建了一个织物画布对象.

var x = new fabric.Canvas("mycanvas");
Run Code Online (Sandbox Code Playgroud)

现在在另一个地方,我想访问这个"x"将无法使用的对象.那么我怎样才能获得相同的结构画布对象.

我不想改变x的范围或传递x作为arg.

另外,如何从结构画布对象获取toDataURL?

Aln*_*tak 23

假设这mycanvas是Canvas元素的ID,您可以在Canvas元素本身上存储对Fabric对象的引用:

var x = new fabric.Canvas("mycanvas");
document.getElementById("mycanvas").fabric = x;
Run Code Online (Sandbox Code Playgroud)

然后,您可以随时检索该对象:

var y = document.getElementById("mycanvas").fabric;
var url = y.toDataURL("png", 1);
Run Code Online (Sandbox Code Playgroud)