【问题标题】:FabricJS loadfromJSON does not render all objectsFabricJS loadfromJSON 不会渲染所有对象
【发布时间】:2020-10-27 19:16:09
【问题描述】:

尝试为多个屏幕加载保存在后端的 JSON 画布。 使用canvas.clear();在加载前清除画布

但虽然我可以看到长度为 5 的对象仅渲染 2 个对象。 随机行动。有时会全部渲染,有时会部分渲染。

   `canvas.loadFromJSON(json, canvas.renderAll.bind(canvas), function(o, object) {
        console.log('rendered successfully')
        console.log(o,object)
        // `o` = json object
        // `object` = fabric.Object instance
        // ... do some stuff ...
    });`

不知道是什么问题。

示例对象:enter link description here

【问题讨论】:

    标签: javascript reactjs fabricjs


    【解决方案1】:

    如果您使用 canvas.toJSON() 导出 JSON,那将导出其所有可用对象。

    但只有 canvas.toJSON() 不会导出许多属性,如原型、hasControl、元等。

    如果您使用自定义对象或原型来修改默认对象或创建新类型,这些将不会仅使用 toJSON 导出和导入。

    在我的情况下,你必须像这样使用它,我想导出额外的属性等等。

            canvas.toJSON(['lockMovementX', 
            'lockMovementY', 
            'lockRotation', 
            'lockScalingX', 
            'lockScalingY', 
            'lockUniScaling',
            'hasBorders',
            'hasControls',
            'targetFindTolerance',
            'perPixelTargetFind',
            'selectable',
            'meta',
            'id',
            'prototype'
        ]
        )
    

    这将导出我的 JSON 对象 + 给定属性。

    【讨论】:

      猜你喜欢
      • 2016-01-12
      • 1970-01-01
      • 2016-05-07
      • 2018-02-21
      • 1970-01-01
      • 2020-02-25
      • 2020-10-20
      • 2020-09-21
      • 2021-04-08
      相关资源
      最近更新 更多