前端前端
fabric
算法
jsBlock
styleBlock
svgBlock
工具其他
Vue、React相关
webgl
GitHub
fabric
算法
jsBlock
styleBlock
svgBlock
工具其他
Vue、React相关
webgl
GitHub
  • 元素操作

    • 元素分组
    • 元素定位
    • 元素层级
    • 元素禁止事件
    • 元素选中样式
  • 变换

    • 变换
  • 图片

    • 图片
    • 背景图
  • 基础图形

    • 三角形
    • 圆形
    • 多边形
    • 折线
    • 椭圆
    • 直线
    • 矩形
    • 路径
  • 序列化和反序列化

    • 反序列化
    • 输出JSON
    • 输出png
    • 输出svg
  • 文本

    • 可编辑文本
    • 多行文本
    • 文本
    • 文本省略
    • 文本边框
  • 源码

    • fabric.Canvas
    • fabric.Circle
    • fabric类的继承体系
  • 画布操作

    • 画布拖动和缩放
    • 画布框选样式
  • 示例

    • fabric-echarts-demo
    • 拓扑图一
    • 拓扑图二

元素分组

  • 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'})

Edit this page
最近更新:: 2025/4/24 10:47
Contributors: wu.hui
Next
元素定位