Fabric Js - 有没有办法识别缩放的方向

时间:2017-12-01 09:19:47

标签: canvas fabricjs

我正在开发一个项目,其中使用fabric js进行自定义形状渲染。我在扩展fabric js对象时需要设置一些值。但情况是,我们必须增加值的缩放,而缩小值必须递减。

1 个答案:

答案 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;
})