我有一个复杂的形状,是使用CompoundPath
生成的,有多个Path
个孩子。这是一个示例形状:
我想知道paperjs
上是否有某种方法或某种其他方式生成简单Paths
,其中包含所有Paths
的组合生成的不同形状CompoundPath
,类似Release
操作Adobe Illustrator
,如here所述。
我需要这个,以便能够使用Path
属性填充不同的fillColor
,这在CompoundPath
内是不可能的。
答案 0 :(得分:0)
compoundPath.parent.addChildren(compoundPath.children)
与paperjs中的Release
类似。
我创建an example。
答案 1 :(得分:0)
我终于按照here的说法解决了这个问题。引用@iconexperience:
我认为你需要做的是在你的上面调用setClockwise(true) 然后调用CompositePath然后调用reorient()。这将设置方向 (顺时针/逆时针)每个子路径,如果几个 路径堆叠在彼此之上,它们的方向将是 交替。从底部路径以顺时针方向开始。之后, 如果CompoundPath中子项的方向是顺时针方向 代表图像中的“洞”或白色区域。顺时针方向 方向意味着路径已经填满。
然后,如果您克隆CompoundPath的子项并填充它们 顺时针方向为棕色,其他为白色 颜色,你应该有一个看起来像原始的结果。
reorient()只有在两者之间没有交叉点时才有效 路径。另请注意,reorient()仅适用于 Paper.js的开发版本。