2016-11-10 16 views
1

我有一個複雜的形狀,使用帶有多個Path子女的CompoundPath生成。這是一個例子形狀:從CompoundPath'釋放'形狀

enter image description here

我想知道是否有關於paperjs一些方法或一些其他方法來生成簡單Paths與在CompoundPath從所有Paths組合產生不同的形狀,東西如Release操作Adobe Illustratorhere所述。

我需要這個以便能夠使用fillColor屬性填充顏色不同的Path,這些屬性在CompoundPath內部時不可能。

回答

0

我終於解決了它,如所述here。引用@iconexperience

我認爲你需要做的是調用setClockwise(真)對你 CompoundPath,然後調用重新定向()。這將設置每個子路徑的方向 (順時針/逆時針),以便如果多個路徑堆疊在彼此之上,則它們的方向將交替顯示爲 。從底部路徑順時針開始。之後, 如果CompoundPath中的孩子的方向是順時針方向,則 表示圖像中的「洞」或白色區域。順時針方向 表示路徑已填充。

如果您然後克隆CompoundPath的子項,並用棕色順時針方向填充 ,然後用白色 顏色填充顏色,則應該看起來像原始結果。

reorient()僅在 路徑之間沒有交集時才起作用。此外,請注意reorient()僅在 開發版本的Paper.js中可用。

0

compoundPath.parent.addChildren(compoundPath.children)將與paperjs中的Release類似操作。

我創建了an example