Javascript 在Fabric.js中出现形状时,如何知道某人是否正在调整大小以使其变小或变大

Javascript 在Fabric.js中出现形状时,如何知道某人是否正在调整大小以使其变小或变大,javascript,html5-canvas,fabricjs,Javascript,Html5 Canvas,Fabricjs,我正在开发Fabricjs库,希望验证用户何时重新调整大小以使矩形(任何形状)变小或变大 表示当用户调整大小使其变小时,调用某个函数;当用户调整大小以增大大小时,调用另一个函数 在Fabricjs中是否可能?您可以使用fabric的canvas.on()方法进行附加 您要查找的对象是“对象:缩放”或“对象:调整大小” 然后您只需查看对象的scaleX和scaleY或width和height属性,就可以知道它是在增加还是在减少 var canvas=newfabric.canvas('c');

我正在开发Fabricjs库,希望验证用户何时重新调整大小以使矩形(任何形状)变小或变大

表示当用户调整大小使其变小时,调用某个函数;当用户调整大小以增大大小时,调用另一个函数


在Fabricjs中是否可能?

您可以使用fabric的
canvas.on()
方法进行附加

您要查找的对象是
“对象:缩放”
“对象:调整大小”

然后您只需查看对象的
scaleX
scaleY
width
height
属性,就可以知道它是在增加还是在减少

var canvas=newfabric.canvas('c');
//创建一个矩形对象
var rect=new fabric.rect({
左:100,,
前100名,
填充:“红色”,
宽度:20,
身高:20
});
//缩放事件的一个侦听器(可以调整大小)
函数scaleListener(e){
//获取正在重新缩放的对象
var targ=e.target;
//检查天平是否比新的大
如果(target.scaleX>(target.lastScaleX | 1)| | target.scaleY>(target.lastScaleY | 1)){
//是的
更大的();
}否则{
//不是
较小的();
}
//将当前比例另存为对象本身的最后一个比例
target.lastScaleX=target.scaleX;
target.lastScaleY=target.scaleY;
};
函数(){
rect.fill='blue';
}
函数较小(){
rect.fill='绿色';
}
//将矩形“添加”到画布上
canvas.add(rect);
帆布({
“对象:缩放”:scaleListener,
});


你想要做窗户还是帆布?我认为在调整窗口大小时,您需要计算元素的宽度,并将其和以前的宽度进行比较。你会知道你是在增加还是在减少宽度。这是关于fabric js中的画布,在这里你可以轻松地移动/调整你的对象(形状),谢谢你的回答。但我想知道对象大小是增大还是减小。我知道
object:scaling
就足够了,但如何知道事件相同时大小是增大还是减小。只需看看object的scaleX和scaleY属性就可以了?它们作为事件回调的参数传递。正如window的调整大小一样,我想你误解了这个问题。我需要两个函数,一个用于在调整大小时检测对象缩放,另一个用于在调整大小时检测对象缩放。现在清楚了吗?是的,清楚了,我希望编辑也能澄清我告诉你的关于使用eventperfect的内容,这就是我想要的