CGContextAddArc 和 CGContextAddArcToPoint 区别
2012-12-04 16:30
519 查看
绘制弧度的相关问题、用法的理解 两种方法创建弧度 第一种 void CGContextAddArc ( CGContextRef c, CGFloat x, //圆心的x坐标 CGFloat y, //圆心的x坐标 CGFloat radius, //圆的半径 CGFloat startAngle, //开始弧度 CGFloat endAngle, //结束弧度 int clockwise //0表示顺时针,1表示逆时针 ); 起始弧度为X轴方向,向下为正,向下方向进行旋转绘制 假如想创建一个完整的圆圈,那么 开始弧度就是0 结束弧度是 2pi, 因为圆周长是 2*pi*r. 最后,函数执行完后,current point就被重置为(x,y). 第二种 void CGContextAddArcToPoint ( CGContextRef c, CGFloat x1, //端点1的x坐标 CGFloat y1, //端点1的y坐标 CGFloat x2, //端点2的x坐标 CGFloat y2, //端点2的y坐标 CGFloat radius //半径 ); 原理:首先画两条线,这两条线分别是 current point to (x1,y1) 和(x1,y1) to (x2,y2). 这样就是出现一个以(x1,y1)为顶点的两条射线, 然后定义半径长度,这个半径是垂直于两条射线的,这样就能决定一个圆了, 最后,函数执行完后,current point就被重置为(x2,y2).如果后面还有CGContextAddArcToPoint函数调用,那么这个(X2,Y2)就是新的绘制起点。 CGContextAddArcToPoint调用一次,就会在视图绘制一段弧,并且由两个CGContextAddArcToPoint函数调用绘制的两段弧,是相互独立的, 参考代码 CGContextMoveToPoint(context, fw, fh/2); // Start at lower right corner CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1); // Top right corner CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1); // Top left corner 下面的代码和上面的代码类似: CGContextMoveToPoint(context, fw, fh/2); // Start at lower right corner CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1); // Top right corner CGContextMoveToPoint(context, fw/2, fh); // 重新移动焦点到制定的位置,为进行下一段弧的绘制做准备 CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1); // Top left corner 如果程序中CGContextAddArcToPoint被连续调用了N次,那么程序就等于在是视图中连续绘制N条相互独立但首尾又相连的弧线段。 THE END ! |
相关文章推荐
- CGContextAddArc 和 CGContextAddArcToPoint 区别
- CGContextAddArc 和 CGContextAddArcToPoint 区别
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc的绘图使用
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc
- iOS绘图系列三:画弧线CGContextAddArc ,CGContextAddArcToPoint,CGContextAddCurveToPoint,UIBezierPath
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArcToPoint和CGContextAddArc
- CGContextAddArc与CGContextAddArcToPoint参数解析
- CGContextAddArcToPoint用法
- CGContextAddArcToPoint看图说话
- iOS: CGContext的函数CGContextAddArcToPoint
- CGContextAddArcToPoint
- CGContextAddLines和CGContextAddLineToPoint在线条半透明时候的区别
- CGContextAddLines和CGContextAddLineToPoint在线条半透明时候的区别
- 详细解析IOS中的CGContextAddArcToPoint方法的使用