1

在 fabricjs v2 的重大更改列表中,其中一个条目说:

“在画布上单击并拖动会创建一个矩形选择。与此矩形相交的所有边界框都将在鼠标向上时被选中,从而创建一个多选。”

这在拥挤的画布上是不切实际的,因为很难选择你想要的。

有没有办法只选择边界矩形包含在选择区域中(而不是相交)的对象?


我在 rc3 中检查了一下,下面的 mod 做了我想要的:
我知道这很残酷......
而且我无法知道这是否会破坏其他东西(至少现在还没有)

在 _collectObjects() 函数的第 11484 行:

//        if (currentObject.intersectsWithRect(selectionX1Y1, selectionX2Y2) ||
//            currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2) ||
//            currentObject.containsPoint(selectionX1Y1) ||
//            currentObject.containsPoint(selectionX2Y2)
//        ) {
        if (
            currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2) 
        ) {
          group.push(currentObject);

          // only add one object if it's a click
          if (isClick) {
            break;
          }
        }

4

0 回答 0