无法选择使用fabricjs添加的对象

Unable to select an object added using fabricjs

本文关键字:添加 对象 fabricjs 选择      更新时间:2024-02-03

我正在使用fabricjs将一个对象添加到画布中。添加该对象后,我使用fabricjs的obj.center()方法对其位置进行居中。该对象将添加到中心。然后使用renderAll()方法。

var canvas = new fabric.Canvas('c');
var rect = new fabric.Rect({
    fill: 'red',
    width: 20,
    height: 20,
    angle: 45
});
canvas.add(rect);
rect.center();
canvas.renderAll();

但有一个问题。如果我悬停在那个对象上,我就不会得到悬停光标(用手光标)。然而,如果我将光标移动到画布的(0,0)坐标位置,则会显示悬停光标,并单击该点选择添加的对象。

我有什么不对的?

var canvas = new fabric.Canvas('canvas');
var rect = new fabric.Rect({
    fill: 'red',
    width: 20,
    height: 20,
    angle: 45
});
canvas.add(rect);
rect.center();
rect.setCoords();
canvas.renderAll();
canvas {
  border: 2px dotted green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.16/fabric.min.js" charset="utf-8"></script>
<canvas id="canvas" width="400" height="400"></canvas>

使用center()之后,您需要调用setCoords()