限制对象大小

时间:2019-02-22 12:07:54

标签: fabricjs fabricjs2

我的画布上有两个对象。较小的一个在较大的一个之上。 我想阻止用户将较大的对象调整为小于较小的对象的大小。

为此,我加入了更大的对象缩放事件:

此示例仅在对象的左侧实现它。

function stageIntersectsWithObject() {
    var stageLeft = el.getBoundingRect(true).left;
    var objLeft = rect1.getBoundingRect(true).left
    el.setCoords();
    if(stageLeft > objLeft){
        el.set('left', objLeft);
        el.set('scaleX', this.lastScaleX);
    } else {
        this.lastScaleX = el.scaleX;
    }
}

一旦左侧相遇,较大物体的宽度也会随之变化。我通过保存scaleX值来限制行为,但是仍然无法正常工作。

请看看这个小提琴:http://jsfiddle.net/zc3ufbha/1/

单击黑色对象,然后从左到右更改其大小,直到其碰到较小的绿色对象。当左侧停止时,您会看到黑色物体的宽度发生变化。

如何最好地防止这种情况发生? 谢谢

0 个答案:

没有答案