使用OpenGL或CoreGraphics填充CGPoints的触摸绘制路径

时间:2009-09-02 20:36:13

标签: iphone objective-c core-graphics points flood-fill

我有一个构成路径的NSArray积分。我可以检测到它自相交的时间。当发生这种情况时,我会尝试填补这条路。

首先我使用了CoreGraphics,现在我使用openGl绘制一个三角形数组。如图所示,效果不佳。 alt text

如何仅在留下“尾巴”时仅填充圆形区域?我正在考虑反向填充,但不认为CG有任何API函数...

2 个答案:

答案 0 :(得分:0)

也许不是实际绘制路径,而是可以近似路径的直径并用近似值绘制圆圈。

以下是一些检测iPhone上的圆形手势的代码: http://www.mobileorchard.com/iphone-circle-gesture-detection/

答案 1 :(得分:0)

记录双向链表中的所有点。当需要填充时,从头开始遍历列表并找到最接近结束的点。然后,lineto到那一点,然后以相反的顺序到每个点,用列表中的第二个点停止。填充将隐式关闭路径,该路径将从您离开的位置(第二个点)跳回到开始(第一个)点。

这只是我的头脑;你可以玩这几个变化,看看什么效果最好。您可能会在每个节点中记录最接近的先前节点,但对于许多节点而言,这可能会变得很昂贵。

相关问题