我试图限制Fabric.js中的最大对象大小调整。我使用observe("object:scaling")
与此代码:在Fabric.js中限制调整大小
canvasLI.observe("object:scaling", function(e) {
var shape = e.target;
var scaleX = shape.scaleX;
var scaleY = shape.scaleY;
var posX = shape.left;
var posY = shape.top;
if(!isNaN(scaleX) && scaleX > 2)
{
shape.set({
scaleX: 2,
});
}
if(!isNaN(scaleY) && scaleY > 2)
{
shape.set({
scaleY: 2,
});
}
shape.set({
left: posX,
top: posY,
});
console.log("X:" + (shape.scaleX) + " Y:" + (shape.scaleY));
});
它工作正常,并在规模,极限最大尺寸,但是当一个对象有规模限制,然后尝试重新调整,它移动之后的鼠标光标在顶部和底部左侧控件(不在右下角控件中)。
此外,我试图捕获对象中的left
和top
值以将其移至这些值,但不起作用。
谢谢。
PS:还试图改变shape.width
和shape.height
而不是scaleX和scaleY,问题是一样的。
编辑:
我已经可以停止比例增加lockScalingX:true and lockScalingY:true
上最大规模的代码中的物体的运动,但现在我有另一个问题。我如何禁用这个lockScaling当我缩小DOWN时将此值设置为false?我怎样才能得到缩小比例的事件?
我一直可以停止在最大范围内对代码添加'lockScalingX:true和lockScalingY:true'的缩放对象的移动,但现在我又遇到了另一个问题。我如何禁用这个lockScaling当我缩小DOWN时将此值设置为false?我怎样才能得到缩小比例的事件? – Mashabak