# 元素选中样式

# 示例

# 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
  })
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
最后更新时间: 12/1/2023, 5:41:47 PM