Fabric.js loadFromJSON width / height属性反序列化

时间:2013-11-15 11:53:18

标签: fabricjs

我遇到Fabric.js的问题。

当我试图像这样保存面料画布时:

var data = JSON.stringify(self.canvas.toJSON(['width', 'height']))

我用高度宽度属性很好地序列化了json。 但当我试图将其反序列化时:

self.canvas.loadFromJSON(data, function () {
    self.canvas.renderAll();
});

高度宽度属性外,所有对象初始化。

我看到了反序列化示例:http://jsfiddle.net/fmgXt/3/

如果我添加到json height width 属性,则会忽略反序列化。

但如果我将它们设置为代码 - 它也可以正常工作。我错过了什么吗?

http://fabricjs.com/docs/fabric.StaticCanvas.html#loadFromJSON我没有找到关于includedPropertiesNames列表的loadFromJSON或类似内容的任何提及。

2 个答案:

答案 0 :(得分:2)

我找到了一个在反序列化时获取缺少属性的解决方案:

var object = JSON.parse(json); //use default json parser
canvas.loadFromJSON(json, function(){
            canvas.width = object.width;
            canvas.height = object.height;
});

答案 1 :(得分:0)

这个对我没有好运。

我能够通过setWidthsetHeight方法使其正常工作:

var object = JSON.parse(json); 
    canvas.loadFromJSON(json, function() {
        canvas.setWidth(object.width);
        canvas.setHeight(object.height);
        canvas.renderAll.bind(canvas);
    });