代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>元素选中状态的事件与样式</title>
</head>
<body>
<button onclick="getActiveObj()">获取选中元素</button>
<canvas id="c" style="border: 1px solid #ccc;"></canvas>
<script src="../../../script/fabric.js"></script>
<script>
const canvas = new fabric.Canvas('c', {
width: 400,
height: 400,
})
let circle = new fabric.Circle({
top: 80,
left: 80,
radius: 50,
fill: '#ffde7d',
backgroundColor: '#f6416c',
transparentCorners: false,
cornerColor: 'pink', // 控制角颜色
cornerSize: 20,
cornerStyle: 'circle', // 控制角样式,圆形 circle,矩形 rect
cornerStrokeColor: '#f08a5d', // 选中时,控制角的边框颜色
cornerDashArray: [10, 4, 6], // 控制角边框虚线规则
// hasControls: false, // 取消选中时的控制角
borderColor: '#aa96da', // 选中时辅助边框颜色
borderScaleFactor: 10, // 选中时边框粗细
borderDashArray: [10, 20, 30], // 选中时虚线边框规则
// hasBorders: false, // 取消选中时的边框
padding: 20, // 内边距
selectionBackgroundColor: '#00b8a9', // 选中时的背景颜色
borderOpacityWhenMoving: 0.1, // 当对象活动和移动时,对象控制边界的不透明度
// selectable: false, // 禁止选中
// perPixelTargetFind: true, // 无法通过空白区域操作元素
})
// 返回控制角的可见性,'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'
// console.log(circle.isControlVisible('mt'))
// 设置控制角的可见性
// 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'
circle.setControlsVisibility({
bl: false
})
// 设置控制角的可见性
circle.setControlVisible('tr', false)
canvas.add(circle)
function getActiveObj() {
console.log(canvas.getActiveObject())
}
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。