用于创建具有直线和弯角的多边形的常用功能

时间:2015-11-27 18:30:14

标签: ios objective-c core-graphics

我需要一些常用的函数或库来创建不同的多边形形状(五边形,六边形),使用Bezier路径从阵列中的一些动态CGPoint列表中使用直线和弯角。这些点应该是多边形的角落

Sample image for reference

1 个答案:

答案 0 :(得分:0)

我担心我没有使用Objective-C进行编程,或者曾经使用过Bezier路径。通过快速谷歌搜索,我设法找到:https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths/BezierPaths.html

同样,我没有在Objective-C中编程,所以这可能是完全错误的。但是,总结那篇文章:

// Create a Bezier path
UIBezierPath *aPath = [UIBezierPath bezierPath]; 

// Set the starting point of the shape.
[aPath moveToPoint:CGPointMake(100.0, 0.0)];

// Draw the lines.
[aPath addLineToPoint:CGPointMake(200.0, 40.0)]; // 200 = x, 40 = y

[aPath addLineToPoint:CGPointMake(160, 140)];

[aPath addLineToPoint:CGPointMake(40.0, 140)];

[aPath addLineToPoint:CGPointMake(0.0, 40.0)];

// Stop defining the points of the shape to draw
[aPath closePath];

从它看起来。你使用:

声明一个点
[aPath addLineToPoint:CGPointMake(160, 140)];

将160替换为起始x,将140替换为起始y。然后添加更多的aPath,它们将与最后一个点的坐标相连。定义的最后一个点将与定义的第一个点相连接。

要添加弯曲边缘,您可能需要查看Polygon with rounded corners using UIBezierPath。 Duncan C(目前有6票的问题)解释了这一点。我不确定它是否有用或正确,因为我没有Objective-C的经验。