2014-02-07 35 views
4

我正在使用Fabric.js創建一個簡單的繪畫應用程序。 我遇到問題的功能之一是存儲桶工具。如何填充Fabric.js中的兩個對象的交集?

對象可填充有使用Fabric.js與canvas.item(0).fill = "red" 但是我希望能夠填充兩個對象的交集[C]顏色[A,B]。

Example

有誰知道如何實現這一目標?我一直在尋找關於如何實現這個和許多指向'洪水填充'的例子和教程,但我不認爲它可以用Fabric.js實現

任何幫助將不勝感激!

回答

2

當您可以獲得整個畫布的像素化光柵對象時,應該可以實施填充。但是如果你想留在矢量世界中,你需要布爾操作來獲得桶的所有形狀的相交形狀。之後,您可以設置該交點表面的背景顏色。

我不是fabricjs的專家,所以我不知道它是否支持這些。對於具有布爾操作的javascript繪圖庫,請查看question

+0

謝謝@Christoph。你指出我正確的方向。我實現了一個畫布,用於保存使用FabricJS創建的矢量的柵格,然後對其執行Flood填充,然後將新着色的像素作爲圖像放回FabricJS畫布,因爲無法使用兩個或多個布爾操作執行布爾操作FabricJS中的對象(至少不是我所知道的) –

+0

你能告訴我你是如何實現Flood Fill的嗎? – Glund