如何在fabric.Image()中添加自定义内容

时间:2016-05-01 18:33:15

标签: fabricjs

我正在尝试使用以下建议的方式在服务器中存储画布:

Fabric.js - how to save canvas on server with custom attributes

但就我而言,我正在从以下网址加载图片:

fabric.Image.fromURL(url, function(image) {
   image.alt = product.skuId;
   image.productClass = product.productClass;
   canvas.add(image);
 }, {
   crossOrigin: "Annoymous"
});

但是当我尝试在db中存储相同的内容时,不会存储较新的属性。

有没有办法在数据库中存储自定义属性(甚至" alt")?

编辑:

用我尝试过的东西创造了一个小提琴: https://jsfiddle.net/anjhawar/dpyb7cf7/

当我们按下保存时,画布会被转储到本地存储中,但是当我们检查"对象"数组我们没有得到自定义属性,即" id"和" alt",按照例子。

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

这是我存储自定义属性(id)的解决方案。

fabric.Image.fromURL(link, function(img) {
    img.set({
        id : 'image_'+index,
        width : canvas.width / 2,
        height : canvas.height / 2
    });
    canvas.add(img).renderAll().setActiveObject(img);
});

为了快速查看,这里有一个有效的代码:http://jsfiddle.net/mullainathan/dpyb7cf7/1