在Paper.js中.subtract把形状分成多个区域时,是否可以将它们分开?

In Paper.js, when .subtract divides the shape into multiple regions, is it possible to separate them?

这是一个改编自 http://paperjs.org/examples/boolean-operations/ 的例子: http://sketch.paperjs.org

由于矩形一直穿过正方形,因此 square.subtract(pole) 操作会生成包含两个闭合区域的单一路径。 Paper.js 有没有办法将它们分成 2 条我可以独立更改的路径?

.subtract 的结果实际上是一个 CompoundPath。它似乎不在上面的示例中,因为在复合路径的其中一个子项上设置填充颜色不起作用; CompoundPath 的样式由所有子项共享。

子路径可以通过.children访问,并在从复合路径中取出时独立更改。参见 example