如何在fabrcjs中合并触摸路径?

时间:2019-01-02 02:33:36

标签: javascript canvas fabricjs

我正在开发一个用于绘制的移动应用程序,当它们彼此接触时,我需要合并它们的路径,但是它们当前相互重叠。还有其他方法吗?

在下图中,我要获得右侧,而不是左侧。

我该怎么办?下面是我的fabric.js代码。

 setCanvasBackground(imagePath) {
      fabric.Image.fromURL(imagePath, (img)=>  {
         this.scaleAndPositionImage(img);
      });
      this.canvas.freeDrawingBrush.color = this.brushColors[0];
      this.canvas.on('path:created', (opt) => {
        // opt.path.globalCompositeOperation = 'lighter';
        this.canvas.renderAll(this.canvas);
      });
  }

enter image description here

1 个答案:

答案 0 :(得分:1)

Fabric.js当前没有用于路径布尔操作(如加/减)的内置功能。<​​/ p>

https://github.com/fabricjs/fabric.js/issues/4977

然而,paper.js库中内置了对布尔操作的出色支持,因此您可以依赖paper.js进行路径计算,然后将新的路径数据重新带入Fabric画布。

http://paperjs.org/examples/boolean-operations/