2014-01-28 22 views
1

我使用Fabric.js默認繪製路徑,所選事件僅捕獲與路徑邊界框的點擊交集。如果您有多個路徑的邊界框彼此重疊,但路徑本身在視覺上可以與最終用戶區分,則這是有問題的。在html5畫布上使用fabricjs的路徑選擇

無論如何要做像素完美路徑選擇或選擇最接近用戶點擊的路徑嗎?

回答

1

我找不到任何確切的方法來完成這個路徑。

我的解決方案令人滿意,對於我的確切場景而言,它適用於開始點和結束點之間簡單的貝塞爾曲線。

它包括測試與畫布中鼠標點擊點最接近的直線。

這個here需要計算的工作實現。

+0

看來目前還沒有更好的解決方案。所以我現在會接受這個近似的。 – nacross

1

我不知道在問題被問到時是否實現了這個功能,但是經過一番挖掘後,我發現在對象上(以及在整個畫布上)有一個屬性,可以進行像素完美選擇:它被稱爲perPixelTargetFind。 (http://fabricjs.com/fabric-intro-part-4#customization「可點擊區域」部分)

還有一個容差屬性:targetFindTolerance。整件事情甚至可以用刀具對象工作。

我花了太多時間才找到這些信息,所以我希望這能幫助一些人