我有一组两个对象,我想要的是在调整组的大小时,其中一个对象不会改变大小,而位置会改变。
我已经搜索了文档,但是找不到解决此问题的参考。
var r = 15;
var rect = new fabric.Rect({
left: 50,
top: 50,
fill: 'blue',
width: 100,
height: 100
});
var linkBtn = new fabric.Circle({
left: 50 + rect.width / 2 - r,
top: 50 - r,
strokeWidth: 1,
radius: r,
fill: '#fff',
stroke: '#666'
});
var g = new fabric.Group([rect, linkBtn]);
g.hasRotatingPoint = false;
canvas.add(g);
当我拉伸组的宽度时,对象“ linkBtn”会像椭圆形一样变形,与高度相同。我希望在更改大小时,对象“ linkBtn”始终是相同的大小,并且始终是对象“ rect”的宽度的一半。
答案 0 :(得分:0)
添加{lockUniScaling:true}作为该行的第二个参数
var g = new fabric.Group([rect, linkBtn], {lockUniScaling : true});
lockUniScaling 防止在X或Y方向上缩放,但不能同时在两个方向上缩放。换句话说,可以防止对象按比例缩放。