我正在使用Fabric.js来创建一个简单的绘画应用程序。 我在实施时遇到问题的一个功能是 Bucket Tool。
使用带有canvas.item(0).fill = "red"
的Fabric.js可以使用颜色填充对象
但是我希望能够填充两个对象[A,B]的交集[C]。
有人知道如何实现这个目标吗?我一直在寻找有关如何实现这一点的示例和教程,很多都指向'Flood Fill',但我认为它不能用Fabric.js实现
欢迎任何帮助!
答案 0 :(得分:2)
当您可以获得整个画布的像素化栅格对象时,应该可以实现泛光填充。但是如果你想留在矢量世界,你需要布尔运算来获得你的桶悬停的所有形状的所有相交形状。之后,您只需设置该交叉点表面的背景颜色。
我不是面料专家,所以我不知道它是否支持其中任何一种。对于具有布尔操作的javascript绘图库,请查看此question。