Fabric JS:如何防止扩展活动组
Fabric JS: How to prevent scaling active group
在 Fabric JS 中,当一个或多个对象 is/are 被选中时,可以缩放它们。在角落里(有方面)或只有 width/height.
是否可以仅在选择一个对象时允许此操作,而在选择多个对象时阻止此操作?
提前致谢!
当您在 canvas 上 select 多个对象时,它的行为本质上类似于 Fabricjs 组。您可以使用 lockScalingX
和 lockScalingY
属性禁用组的缩放。
现在要访问这个在 selection 上形成的组,您可以使用 canvas selection:created
事件。下面是示例代码:
canvas.on('selection:created',function(ev){
ev.target.set({
lockScalingX: true,
lockScalingY: true
});
});
以上代码专门针对用户 selection 上形成的组禁用缩放,而不是您可能已添加到 canvas 的组。如果你想为任何组禁用全局缩放,那么你可以通过以下方式进行:
fabric.Group.prototype.lockScalingX = true;
fabric.Group.prototype.lockScalingY = true;
您可以在此处找到可用的 fiddle:http://jsfiddle.net/n9z58nuk/2/
在 Fabric JS 中,当一个或多个对象 is/are 被选中时,可以缩放它们。在角落里(有方面)或只有 width/height.
是否可以仅在选择一个对象时允许此操作,而在选择多个对象时阻止此操作?
提前致谢!
当您在 canvas 上 select 多个对象时,它的行为本质上类似于 Fabricjs 组。您可以使用 lockScalingX
和 lockScalingY
属性禁用组的缩放。
现在要访问这个在 selection 上形成的组,您可以使用 canvas selection:created
事件。下面是示例代码:
canvas.on('selection:created',function(ev){
ev.target.set({
lockScalingX: true,
lockScalingY: true
});
});
以上代码专门针对用户 selection 上形成的组禁用缩放,而不是您可能已添加到 canvas 的组。如果你想为任何组禁用全局缩放,那么你可以通过以下方式进行:
fabric.Group.prototype.lockScalingX = true;
fabric.Group.prototype.lockScalingY = true;
您可以在此处找到可用的 fiddle:http://jsfiddle.net/n9z58nuk/2/