二维画图引擎-画圆、半圆、弧线
//
// QHCircle.m
// 绘图
//
#import "QHCircle.h"
@implementation QHCircle
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
/**
* 当View第一次显示的时候调用
*
* @param rect
*/
- (void)drawRect:(CGRect)rect {
// Drawing code
//仅仅会调一次
CGContextRef ctx = UIGraphicsGetCurrentContext();
//2.画1/4圆
CGContextMoveToPoint(ctx, 100, 100);
CGContextAddLineToPoint(ctx, 100, 150);
CGContextAddArc(ctx, 100, 100, 50, -M_PI_2, M_PI, 1);
CGContextClosePath(ctx);
[[UIColor redColor]set];
CGContextFillPath(ctx);
drawArc();
drawCircle();
}
void drawArc()
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.画圆弧
// x\y : 圆心
// radius : 半径
// startAngle : 開始角度
// endAngle : 结束角度
// clockwise : 圆弧的伸展方向(0:顺时针, 1:逆时针)
CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 0);
CGContextFillPath(ctx);
}
void drawCircle()
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
//画圆
CGContextAddEllipseInRect(ctx, CGRectMake(50, 10, 100, 100));
CGContextSetLineWidth(ctx, 10);
CGContextStrokePath(ctx);
}
@end