我正在开发一个项目,其中使用fabric js进行自定义形状渲染。我在扩展fabric js对象时需要设置一些值。但情况是,我们必须增加值的缩放,而缩小值必须递减。
答案 0 :(得分:1)
您可以为每个对象附加scaling
事件。
Object.on('scaling', function(opt) {
var shape = opt.target;
if (!shape.oldScaleX) return;
if (Math.abs(shape.scaleX) > Math.abs(shape.oldScale)) {
return true; //scaling up!
} else {
return false; //scaling down!
}
shape.oldScaleX = shape.scaleX;
});
如果您定义了oldScale,这将处理它。 要始终定义oldScale,请考虑在添加的canvas对象上添加一个事件来定义它。
Canvas.on('object:added', function(opt) {
opt.target.oldScaleX = opt.target.scaleX;
})