有谁知道是否可以组合(例如)不同的 CGContext 路径来创建一个新的组合形状,如本例所示?
谢谢!
I found a library that does Union operations on CGPaths:
https://bitbucket.org/martinwinter/vectorbooleancg
I haven't tried it yet, but the author of the CG branch of Vectorbool, Martin Winter, states that the union operation should be usable in its current form on iOS. I will add information when I get around to trying to implement it.
我怀疑是否有支持此功能的 Apple 库。
您需要的是所谓的“两个(或多个)多边形的并集”,有时称为对多边形的布尔运算。我会将 CGPath 转换为多边形,可能您开始创建一个包含多边形点的点数组。这意味着不使用 CGPathAddEllipse,而是通过例如具有 64 到 256 个顶点的正多边形来近似形状。
您可以轻松地为自己计算圆或椭圆的点(使用类似于 a*cos(t)、b*sin(t) 的方法,请参阅 wikipedia 中的椭圆“参数公式”)然后您使用提供的 c 库之一这些“工会行动”。其中之一是 LEDA 库。