如何识别CGPoint是否包含在形状中?

时间:2011-11-16 23:49:44

标签: objective-c

我是石英的初学者。

我想知道一种识别CGPoint是否包含在形状中的方法。

请给我一个专家帮助。

遵循概念图。

enter image description here

以上三种情况, 我想要的结果是YES,因为形状中包含三个RED CGPoint。

有可能跟随方式吗?

CGPoint RedPoint1 = {200,100};
CGPoint RedPoint2 = {200,200};
CGPoint RedPoint3 = {350,300};

BOOL includeRect;
includeRect = CGRectContainsPoint(RectCase, RedPoint1);

BOOL includeCircle;
includeCircle = CG ? ContainsPoint(CircleCase, RedPoint2)

BOOL includeBoldLine;
includeBoldLine = CG ? ContainsPoint(BoldLineCase, RedPoint3);

1 个答案:

答案 0 :(得分:2)

这一切的难易程度取决于你的形状是如何定义的。

如果您将这些作为CGPathRefsNSBezierPaths,则可以使用containsPoint:方法。

如果这些是应用了变换的CGRect,您可以使用CGAffineTransformPoint方法将点移动到相同的坐标空间,然后使用CGRectContainsPoint