结合CGContext几何

时间:2012-11-16 07:32:31

标签: cgcontext cgpath

有没有人知道是否可以组合(例如)不同的CGContext路径来创建一个新的组合形状,如本例所示?

enter image description here

谢谢!

2 个答案:

答案 0 :(得分:1)

我找到了一个在CGPaths上执行Union操作的库:

https://bitbucket.org/martinwinter/vectorbooleancg

我还没有尝试过,但是Vectorbool的CG分支的作者Martin Winter表示,联合操作应该可以在iOS上以其当前形式使用。当我试图实现它时,我将添加信息。

答案 1 :(得分:0)

我怀疑是否有支持此功能的Apple lib。

你需要的是一个所谓的“两个(或多个)多边形的联合”,有时在多边形上称为布尔运算。 我会将CGPath转换为多边形,可能你开始创建一个包含多边形点的点数组。这意味着不使用CGPathAddEllipse,而是通过例如具有64到256个顶点之间的正多边形来近似形状。

您可以轻松地为自己计算圆或椭圆的点(使用类似于* cos(t),b * sin(t)的内容,请参阅维基百科的椭圆“参数公式”) 然后你拿一个提供这些“联合操作”的c库。 其中一个是LEDA lib。