1

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

在此处输入图像描述

谢谢!

4

2 回答 2

1

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.

于 2012-11-16T22:11:11.637 回答
0

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

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

您可以轻松地为自己计算圆或椭圆的点(使用类似于 a*cos(t)、b*sin(t) 的方法,请参阅 wikipedia 中的椭圆“参数公式”)然后您使用提供的 c 库之一这些“工会行动”。其中之一是 LEDA 库。

于 2012-11-16T11:14:57.360 回答