前端前端
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
    • 拓扑图一
    • 拓扑图二

元素选中样式

示例

show code

const draw = (canvas) => {
  fabric.Image.fromURL('/images/cat.jpg', (img) => {
    // 设置背景图, 将背景图的宽高设置成画布的宽高
    canvas.setBackgroundImage(img, canvas.renderAll.bind(canvas), {
      scaleX: canvas.width / img.width,
      scaleY: canvas.height / img.height,
      left: 0,
      top: 0,
    })

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

    // 元素选中样式
    rect.set({
      borderColor: 'red', // 边框颜色
      cornerColor: 'green', // 控制角颜色
      cornerSize: 10, // 控制角大小
      transparentCorners: false, // 控制角填充色不透明
      transparentCorners: true, // 控制角填充色透明
      selectionBackgroundColor: 'orange', // 选中后,背景色变橙色
    })

    // rect.hasBorders = false // 取消边框
    // rect.hasControls = false // 禁止控制角
    canvas.hoverCursor = 'wait' // 设置等待指针

    // 将rect添加到画布中
    canvas.add(rect)

    // canvas.setActiveObject(rect) // 默认选中rect
  })
}
Edit this page
最近更新:: 2025/4/24 10:47
Contributors: wu.hui
Prev
元素禁止事件