假设我们有一个CGPath,并且我们使用非零填充规则来绘制它。它可能有自交叉,但它使用非零填充。
现在,出于某种原因,我们必须切换到偶数填充规则。没有其他办法。但是我们仍然希望路径看起来和以前完全一样。因此,我们必须做一些修改,比如删除自交叉点。
例如,这就是我们所拥有的:
但这就是我们想要的:
我添加了一个渐变笔画来显示路径,但我只关心填充。
这样做的结果应该是我们得到一条没有自交叉的路径,无论使用什么填充规则,填充时看起来都是相同的。 请注意,路径可能包含曲线段(示例中未显示)
所以,我的问题是:我该怎么做? :)