javascript - 向 fabricjs 对象添加自定义属性

标签 javascript canvas fabricjs

我正在尝试向我拥有的结构 js 对象添加自定义属性:

var trimLine = new fabric.Rect({
    width: Math.round(obj.box_dimensions.box.width,2),
    height: Math.round(obj.box_dimensions.box.height,2),
    strokeWidth: 1,
    stroke: 'rgb(255,2,2)',
    fill: '',
    selectable: false
});

这就是我试图添加的矩形,我想在其中传递一个名称或 ID,以便稍后在我获取 Canvas 对象并将其转换为 json 时能够识别它。

我试过

var trimLine = new fabric.Rect({
    width: Math.round(obj.box_dimensions.box.width,2),
    height: Math.round(obj.box_dimensions.box.height,2),
    strokeWidth: 1,
    stroke: 'rgb(255,2,2)',
    fill: '',
    selectable: false,
    name: trimLine
});

canvas.add(trimLine);
canvas.renderAll();

没用,我也试过

 trimline.name = 'trimLine'

最佳答案

name:trimLine 应该是 name:"trimLine" 除非你之前声明了一个 var trimLine='myTrimLineName'

FabricJS 有许多附加属性,包括 name 属性。

为避免覆盖这些原生属性,请添加一个子属性以表明这些是您自己的自定义属性:

// example: using .my to hold your own custom properties
trimLine.my.name='trimLine';
trimLine.my.id='myOwnID15';
trimLine.my.sayName=function(){alert(this.my.name);}

关于javascript - 向 fabricjs 对象添加自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336983/

相关文章:

javascript - TypeScript 中的自动 getter 和 setter

Safari 中的 javascript 页面刷新

javascript - 如何迭代 aurelia 模板中的集合

javascript - FabricJs:在 FabricJs Canvas 中绘制按钮的网格/数组(p*p)

javascript - fabricjs:使用自定义 Canvas 属性导出

javascript - 我使图像看起来像一个可点击的按钮,但现在当我点击它时,它不充当超链接?

javascript - Sprite 向某一特定点移动的方式

javascript - 在 Canvas 中制作波浪并制作动画

javascript - 在 fabric.js Canvas 上添加 mask 层

javascript - 从 JSON 加载 - 对象未缩放?