我有CGMutablePathRef的路径
CGMutablePathRef pointsPathpath = CGPathCreateMutable();
CGPathMoveToPoint(pointsPathpath, NULL, firstPoint.x, firstPoint.y);
CGPathAddLineToPoint(pointsPathpath, NULL, secondPoint.x, secondPoint.y);
CGPathAddLineToPoint(pointsPathpath, NULL, thirdPoint.x, thirdPoint.y);
CGPathAddLineToPoint(pointsPathpath, NULL, fourthPoint.x, fourthPoint.y);
CGPathCloseSubpath(pointsPathpath);
有没有办法获得它的边界点?
先谢谢。
答案 0 :(得分:3)
Core Graphics有两种方法来计算CGPath的“边界框”。
CGPathGetPathBoundingBox()
CGPathGetBoundingBox()
第一个返回包含路径中所有点的最小边界框,但不包括曲线的控制点。
第二个 包含曲线的控制点。
您的路径没有任何曲线,因此它们都会返回相同的矩形,但对于更高级的路径,它们通常会返回不同的区域。
下图说明了他们的不同之处。最后带圆圈的黑线是路径中曲线的控制点。
答案 1 :(得分:1)
您可以使用CGPathGetBoundingBox()或CGPathGetPathBoundingBox()。
这两个都列在CGPath文档中: http://developer.apple.com/library/ios/#documentation/graphicsimaging/Reference/CGPath/Reference/reference.html