Fabric JS:如何防止扩展活动组

时间:2015-03-08 14:30:13

标签: javascript fabricjs

在Fabric JS中,当选择一个或多个对象时,可以对它们进行缩放。在角落(有方面)或只有宽度/高度。

是否可以仅在选择对象时允许此操作并在选择多个对象时阻止此操作?

提前致谢!

1 个答案:

答案 0 :(得分:12)

当您在画布上选择多个对象时,它的行为基本上类似于Fabricjs组。您可以使用lockScalingXlockScalingY属性停用组的缩放。

现在要访问在选择时形成的这个组,您可以使用canvas selection:created事件。以下是示例代码:

canvas.on('selection:created',function(ev){
    ev.target.set({
        lockScalingX: true,
        lockScalingY: true
    });
});

上面的代码禁用了专门针对用户选择上形成的组的缩放,而不是您可能已添加到画布的组。如果要为任何组全局禁用扩展,则可以通过以下方式执行此操作:

fabric.Group.prototype.lockScalingX = true;
fabric.Group.prototype.lockScalingY = true;

你可以在这里找到一个工作小提琴:http://jsfiddle.net/n9z58nuk/2/