Javascript 将rx和ry设置为非零值时,高度或宽度为负值时,织物js形状错误
我试图画圆角矩形,但当设置负宽度或负高度时,我得到了一个像这样的错误形状 如何在不考虑起点和绘制方向的情况下获得正确的形状(gif中的左上角形状)Javascript 将rx和ry设置为非零值时,高度或宽度为负值时,织物js形状错误,javascript,fabricjs,Javascript,Fabricjs,我试图画圆角矩形,但当设置负宽度或负高度时,我得到了一个像这样的错误形状 如何在不考虑起点和绘制方向的情况下获得正确的形状(gif中的左上角形状) canvas.on('mouse:down', (e) => { const roundedRect = new fabric.Rect( { top: e.pointer.y, left: e.pointer.x, width: 0, height: 0,
canvas.on('mouse:down', (e) => {
const roundedRect = new fabric.Rect( {
top: e.pointer.y,
left: e.pointer.x,
width: 0,
height: 0,
stroke: 'black',
strokeWidth: 3,
rx: 10,
ry: 10,
fill: 'transparent',
hasControls: false,
});
canvas.add(roundedRect);
canvas.setActiveObject(roundedRect);
});
canvas.on('mouse:move', (e) => {
const pointer = e.pointer;
const activeObj = canvas.getActiveObject();
let height = pointer.y - activeObj.top;
let width = pointer.x - activeObj.left;
activeObj.set({ height: height, width: width});
activeObj.setCoords();
});
Fabric中不支持负宽度和高度值,这就是为什么会出现不可预测的行为。改用scaleX和scaleY,它们可以是负数。