您的位置:首页 > 移动开发 > IOS开发

(IOS)Quartz画图基本小记

2014-05-22 17:43 267 查看
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);


4.画虚线

//设置画笔
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

lk0046DevDiv博客: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IOS 画图