从Bezier Path中删除自交叉点

时间:2015-06-21 12:16:40

标签: ios macos core-graphics bezier cgpath

假设我们有一个CGPath,并且我们使用非零填充规则来绘制它。它可能有自交叉,但它使用非零填充。

现在,出于某种原因,我们必须切换到偶数填充规则。没有其他办法。但是我们仍然希望路径看起来和以前完全一样。因此,我们必须做一些修改,比如删除自交叉点。

例如,这就是我们所拥有的:

Example 1

但这就是我们想要的:

Example 2

我添加了一个渐变笔画来显示路径,但我只关心填充。

这样做的结果应该是我们得到一条没有自交叉的路径,无论使用什么填充规则,填充时看起来都是相同的。 请注意,路径可能包含曲线段(示例中未显示)

所以,我的问题是:我该怎么做? :)

0 个答案:

没有答案