如何填充Fabric.js中两个对象的交集?

时间:2014-02-07 20:09:31

标签: javascript html5 canvas fabricjs

我正在使用Fabric.js来创建一个简单的绘画应用程序。 我在实施时遇到问题的一个功能是 Bucket Tool。

使用带有canvas.item(0).fill = "red"的Fabric.js可以使用颜色填充对象 但是我希望能够填充两个对象[A,B]的交集[C]。

Example

有人知道如何实现这个目标吗?我一直在寻找有关如何实现这一点的示例和教程,很多都指向'Flood Fill',但我认为它不能用Fabric.js实现

欢迎任何帮助!

1 个答案:

答案 0 :(得分:2)

当您可以获得整个画布的像素化栅格对象时,应该可以实现泛光填充。但是如果你想留在矢量世界,你需要布尔运算来获得你的桶悬停的所有形状的所有相交形状。之后,您只需设置该交叉点表面的背景颜色。

我不是面料专家,所以我不知道它是否支持其中任何一种。对于具有布尔操作的javascript绘图库,请查看此question