📅  最后修改于: 2023-12-03 14:41:05.963000             🧑  作者: Mango
在Fabric.js中,ActiveSelection对象表示了多个Canvas对象选中的集合。getCenterPoint()是ActiveSelection对象的一个方法,它用于获取选中集合的中心点位置。
activeSelection.getCenterPoint();
getCenterPoint()方法返回一个包含选中集合中心点x和y坐标的对象。
// 创建Canvas对象
var canvas = new fabric.Canvas('canvas');
// 创建三个矩形对象
var rect1 = new fabric.Rect({ width: 50, height: 50, top: 10, left: 10, fill: 'red' });
var rect2 = new fabric.Rect({ width: 50, height: 50, top: 20, left: 20, fill: 'green' });
var rect3 = new fabric.Rect({ width: 50, height: 50, top: 30, left: 30, fill: 'blue' });
// 将矩形对象添加到Canvas对象
canvas.add(rect1, rect2, rect3);
// 将两个矩形对象选中
canvas.setActiveObject(rect1);
canvas.setActiveObject(rect2);
// 获取选中集合的中心点
var centerPoint = canvas.getActiveGroup().getCenterPoint();
console.log(centerPoint);
// 输出:{ x: 30, y: 30 }
// 将选中集合转换为单个对象并设置中心点
canvas.getActiveGroup().toActiveSelection();
canvas.getActiveObject().set({
left: centerPoint.x,
top: centerPoint.y
});
// 重新渲染Canvas对象
canvas.renderAll();