我使用fabricjs将对象添加到画布中。添加该对象后,我使用{j}的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)坐标位置,则会显示悬停光标,然后单击该点将选择添加的对象。
我错了什么?
答案 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()
。