1.画直线
/* 获取上下文 */
CGContextRef context = UIGraphicsGetCurrentContext();
//设置画笔大小
CGContextSetLineWidth(context, 4.0);
//设置画笔颜色
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//设置起始点
CGContextMoveToPoint(context, 10.0, 10.0);
//绘制一条线到(300,10)
CGContextAddLineToPoint(context, 300.0, 10.0);
//告知Quartz使用CGContextStrokePath绘制
CGContextStrokePath(context);
2.画图片
//init image
UIImage* image = [UIImage imageNamed:@"test"];
//position
CGPoint drawPoint = CGPointMake(100.0f, 30.0f);
[image drawAtPoint:drawPoint];
/** 绘制椭圆 */
//图形Frame
CGRect theRect = CGRectMake(10.0,120.0,100.0,60.0);
//边界线颜色
CGContextSetStrokeColorWithColor(context, [UIColor yellowColor].CGColor);
//填充色
CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);
CGContextAddEllipseInRect(context, theRect);
//参数1:上下文 参数2:填充类型
CGContextDrawPath(context, kCGPathEOFillStroke);
3.画扇形
简单扇形
//填充颜色
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0 green:1 blue:1 alpha:1].CGColor);
//起始点
CGContextMoveToPoint(context, 10, 200);
//弧形
CGContextAddArc(context, 60, 200, 100, 0, M_PI/9, 0);
//闭合图形
CGContextClosePath(context);
//绘制路径
CGContextDrawPath(context, kCGPathFillStroke);
复杂扇形
//填充色
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0 green:1 blue:1 alpha:1].CGColor);
//弧形
CGContextAddArc(context, 10, 120, 300, 0, M_PI/9, 0);
CGContextAddArc(context, 10, 120, 200, M_PI/9, 0, 1);
//闭合图形
CGContextClosePath(context);
//弧形
CGContextAddArc(context, 10, 120, 190, 0, M_PI/9, 0);
CGContextAddArc(context, 10, 120, 110, M_PI/9, 0, 1);
//闭合图形
CGContextClosePath(context);
//绘制路径
CGContextDrawPath(context, kCGPathFill);
//设置画笔
CGContextSetLineWidth(context, 2.0);
//设置画笔颜色
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
// 样式
float lengths[] = {10,10};
// 虚线函数设置
CGContextSetLineDash(context, 0, lengths, 2);
// 起始坐标
CGContextMoveToPoint(context, 10.0, 20.0);
// 终点坐标
CGContextAddLineToPoint(context, 310.0,20.0);
// 请求绘图
CGContextStrokePath(context);
参考文章:
任海丽的csdn博客: IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
http://blog.csdn.net/rhljiayou/article/details/9919713
lk0046的DevDiv博客:ios画图
http://www.devdiv.com/ios_-blog-1511-50609.html
Developer_Man的csdn博客:IOS开发(107)之Quartz 2D绘图
http://blog.csdn.net/developer_zhang/article/details/9058653