我是石英的初学者。
我想知道一种识别CGPoint是否包含在形状中的方法。
请给我一个专家帮助。
遵循概念图。
以上三种情况, 我想要的结果是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);
答案 0 :(得分:2)
这一切的难易程度取决于你的形状是如何定义的。
如果您将这些作为CGPathRefs
或NSBezierPaths
,则可以使用containsPoint:
方法。
如果这些是应用了变换的CGRect,您可以使用CGAffineTransformPoint方法将点移动到相同的坐标空间,然后使用CGRectContainsPoint