FabricJS - 加载序列化画布后引用

时间:2015-04-17 14:50:48

标签: javascript html5 canvas serialization fabricjs

我使用以下代码序列化我的画布:

var user_canvas = JSON.stringify(canvas.toDatalessObject());

一切正常。然后我使用以下代码加载序列化画布,其中' serial'是序列化画布的var:

canvas.loadFromJSON(serial,canvas.renderAll.bind(canvas));

所有元素都按预期显示在页面上。虽然我无法弄清楚如何引用这些对象,canvas.getObjects()会出现一个空白数组,但是如果我console.log(canvas)我可以看到里面的元素,我就是无法引用它们。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

设置5秒的超时后,项目出现在getObjects()中,似乎我只是在加载它们之前尝试访问它们。

编辑:事实证明canvas.loadFromJSON

内置了一个回调函数

您可以使用以下内容访问变量:

canvas.loadFromJSON(serialized_canvas,canvas.renderAll.bind(canvas),function(o, object) { console.log(object); }