javascript - Fabric.js toJSON() 方法缺少图像

标签 javascript serialization fabricjs

我在 .toJSON() 方法中返回所有 Canvas 对象时遇到困难。

在我的测试中http://jsfiddle.net/EqeZj/ (Fabric.js v1.4.8)它似乎只返回形状对象。

// Do some initializing stuff
    fabric.Object.prototype.set({
        transparentCorners: false,
        cornerColor: 'rgba(102,153,255,0.5)',
        cornerSize: 12,
        padding: 5
    });

    // initialize fabric canvas and assign to global windows object for debug
    var canvas = window._canvas = new fabric.Canvas('c');

    canvas.add(new fabric.Circle({
        radius: 250,
        left: 10,
        top: 10,
        fill: '#0B61A4'
    }));

    fabric.Image.fromURL('http://jsfiddle.net/img/logo.png', function(img) {
      img.left = 58;
      img.top = 110;
      canvas.add(img);
    });

    canvas.includeDefaultValues = false;
    fabric.log('JSON without default values: ', canvas.toJSON());
    fabric.log('canvas.getObjects ', canvas.getObjects());

我这样做正确吗?

最佳答案

这是异步图像加载的问题:如果您等待几秒钟,图像将出现在 JSON 对象中,正如您在这个 fiddle http://jsfiddle.net/7BR8E/1/ 中看到的那样

因此,如果您想确保操作已加载图像的 Canvas ,则必须在 canvas.add(img) 之后的 fromURL() 回调函数内执行此操作。

关于javascript - Fabric.js toJSON() 方法缺少图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24826497/

相关文章:

javascript - 如何在页面加载完成时发出 AJAX 请求,由 window.location.href 触发

javascript - 为什么我的 AJAX 请求会根据文件扩展名给出错误?

javascript - 在 JavaScript 中捕获键盘旋钮事件

c# - 将不可序列化的类转换为字节数组

Fabricjs,选择 handle 显示但在与其他形状一起选择之前不可点击

javascript - 意外的响应代码 426

json - SignalR 2.0.0 beta2 IJsonSerializer 可扩展性

java - 我应该为 DTO 使用 Serialized 吗?为什么应该使用?

javascript - 如何在fabric js中添加图像组

javascript - 使用动态模式从 JSON 加载