Fabric.js v5:获取UI创建组内元素修改后画布属性的方法
Fabric.js v5 多选组修改后获取元素属性问题
我正在使用Fabric.js v5版本,从官方文档里了解了创建组的方法,但没找到通过UI创建多选组的相关指引。我的场景是用户按住shift/cmd键点击画布元素来创建多选组(会生成一个外部框),之后可以对选中的所有元素进行整体移动、缩放操作。

以下是我尝试的代码:
const canvas = new fabric.Canvas("myId"); canvas.on("object:modified", hasBeenModified); function hasBeenModified(evt) { var az = evt.target.canvas.targets; // 空数组,我认为它应该显示组内所有元素 }
如果用evt.target._objects能看到所有元素,但元素的left位置是负值(我明明把元素向右移动了,数值应该增大才对)。
移动单个对象时,下面的方法能正常工作:
console.log("original width: " + evt.target.get('width'));
GitHub Issues里有人建议用targets,但它始终是空数组。
我想要从Fabric.js中拿到一个数组,遍历每个被修改的元素,获取它们的最新属性,并且拿到元素在画布中的绝对位置(不是组内的相对位置)。
请问,在用户通过键盘/鼠标创建多选组并进行缩放、拖拽修改后,怎么获取每个元素的新尺寸、位置(或其他属性)?
内容的提问来源于stack exchange,提问作者MyDaftQuestions
相关产品推荐
相关产品推荐

