Quartz2D简单绘制之矩形&椭圆

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