Quartz2D简单绘制之矩形&椭圆
// 画矩形和圆形(椭圆也是圆哦)
CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(contextRef, 1.0f, 1.0f, 1.0f, 1);
CGContextSetLineWidth(contextRef, 2.0f);
CGContextAddRect(contextRef, CGRectMake(50.0f, 50.0f, 200.0f, 100.0f));
CGContextAddEllipseInRect(contextRef, CGRectMake(50.0f, 50.0f, 200.0f, 100.0f));
CGContextStrokePath(contextRef);
// 画圆弧
// CGContextAddArc(contextRef, <#CGFloat x#>, <#CGFloat y#>, <#CGFloat radius#>, <#CGFloat startAngle#>, <#CGFloat endAngle#>, <#int clockwise#>)
// 圆心, 半径, 起始角度, 结束角度, 1,顺时针 0,逆时针
CGContextAddArc(contextRef, 100.0f, 300.0f, 50.0f, 0.0f * ( M_PI/180 ), 90.0f * ( M_PI/180 ), 1);
CGContextStrokePath(contextRef);
rect.size.height = rect.size.width;
CGFloat endPosition = 140*M_PI/180;
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0.0 , rect.size.height);
CGContextRotateCTM(context, -M_PI_2);
CGContextBeginPath(context);
CGContextSetRGBFillColor(context, 1,1,1,1);
CGContextAddEllipseInRect(context, rect);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);
CGContextSaveGState(context);
CGContextSetRGBFillColor(context, 0,0,0,1);
CGContextMoveToPoint(context, rect.size.height / 2 ,rect.size.height / 2);
CGContextAddArc(context, rect.size.height / 2 ,rect.size.height / 2, rect.size.height / 2,0,endPosition, 1);
CGContextDrawPath(context, kCGPathFill);
CGContextRestoreGState(context);
转载于:https://www.cnblogs.com/pengyingh/articles/2388402.html