两点之间的曲线平滑?

时间:2013-05-27 09:01:17

标签: objective-c ipad

我有两个CGPoints。我需要绘制一条曲线到另一条曲线。我怎么画它?核心图形还是Bezier路径?如果是这样,我需要一些指导。感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

使用UIBezierPath或CGPath。 UIBezierPath与OS X上的NSBezierPath类似。 在你的视图的drawRect:方法中, 声明对象

UIBezierPath *aPath = [UIBezierPath bezierPath];

然后开始第一点。

[aPath moveToPoint: startPoint];

接下来添加带控制点的曲线段。 这是确定控制点需要的难点。

有两种。 立方曲线

[aPath addCurveToPoint: aDestinationPoint controlPoint1: aControlPoint controlPoint2: anotherControlPoint];

二次曲线

[aPath addQuadCurveToPoint:aDestinationPoint  controlPoint: aLonelyControlPoint];

最后,在UIColor(Mac上的NSColor)上调用set方法。 然后抚摸或填充路径。

[aPath stroke];

您可能还想设置笔触宽度。

请记住,绘图是从程序上回到前面的,如果你想在填充或描边的下一个绘图命令之前在不同的颜色上设置不同的颜色调用

事件的CG版本类似但更复杂。

http://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/BezierPaths/BezierPaths.html