Fabric JS以编程方式按ID选择对象

时间:2016-10-22 11:29:59

标签: javascript canvas fabricjs

在Fabric JS中我需要通过给定对象名称/ ID“Circle”

来选择对象
var onCircle = function () {
    canvas.add(new fabric.Circle({ id: 'Circle', radius: 30, fill: '#f55', top: 150, left: 150 }));
}

我也知道该对象可以通过ItemID选择:

var SelectObject = function (ObjectName) 
{
    canvas.setActiveObject(canvas.item(0));
}

我需要类似的东西:

var SelectObject = function (ObjectName) 
{
    canvas.setActiveObject('my object name');
}

1 个答案:

答案 0 :(得分:5)

你只需编写一个函数来循环每个对象,并在找到它时将其设置为活动状态。下面我检查ID,但您可以更改它以检查您要设置的对象上的任何属性。

var SelectObject = function (ObjectName) {
    canvas.getObjects().forEach(function(o) {
        if(o.id === ObjectName) {
            canvas.setActiveObject(o);
        }
    })
}