# 元素分组

  • getObjects() 返回一组中所有对象的数组

  • size() 所有对象的数量

  • contains() 检查特定对象是否在 group 中

  • item() 组中元素

  • forEachObject() 遍历组中对象

  • add() 添加元素对象

  • remove() 删除元素对象

  • fabric.util.object.clone() 克隆

  • getActiveObject() 拿到活动对象

  • setActiveObject(sel) 设置活动对象

  • discardActiveObject() 取消所有的活动对象

  • new fabric.ActiveSelection(objects, {canvas}) 主动选中哪些元素作为活动对象

  • canvas.getActiveObject().toActiveSelection() 打散

官方示例 分组

# show code

let rect = new fabric.Rect({
  width: 80,
  height: 100,
  left: 10,
  top: 60,
  fill: 'rgba(255,0,0,0.4)',
  evented: false,
})

const text = new fabric.Text('我和长方形可以一起拖动', {
  fill: '#000',
  left: 10,
  top: 20,
  fontSize: 16,
  fontWeight: 'bold',
  evented: false,
})

const group = new fabric.Group([rect, text])
canvas.add(group)

group.item(0).set({fill: '#0f0'})

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
最后更新时间: 12/1/2023, 4:38:28 PM