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

2022-04-07 00:00:00 canvas javascript 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');
}

解决方案

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

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

相关文章