【问题标题】:Fabric.js loadFromJSON width/height properties deserializationFabric.js loadFromJSON 宽度/高度属性反序列化
【发布时间】:2017-11-30 21:17:07
【问题描述】:

我对 Fabric.js 有疑问。

当我尝试像这样保存织物画布时:

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

我得到了具有 heightwidth 属性的良好序列化 json。 但是当我试图像这样反序列化它时:

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

除了 heightwidth 属性之外的所有对象都可以正常初始化。

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

如果我添加到 json heightwidth 属性,它会被反序列化忽略。

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

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

【问题讨论】:

    标签: fabricjs


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这个对我不利。

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

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

      【讨论】:

        猜你喜欢
        • 2017-02-11
        • 1970-01-01
        • 1970-01-01
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 2014-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多