#import "LCSView.h"
@implementation LCSView
////绘图
- (void)drawRect:(CGRect)rect
{
#if 0
//图形上下文对象
CGContextRef context = UIGraphicsGetCurrentContext();
//路径
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, 20, 0);//移动到指定的位置
CGPathAddLineToPoint(path, nil, 20, 300);//绘制直线
CGPathAddLineToPoint(path, nil, 100, 400);// 绘制另一直线
CGPathAddLineToPoint(path, nil, 100, 90);//第三条线
CGPathAddLineToPoint(path, nil, 20, 0);//第四条线
//添加路径到图形上下文
CGContextAddPath(context, path);
//设置图形上下文属性
CGContextSetRGBStrokeColor(context, 1.0, 0, 0, 1);//设置笔触颜色
CGContextSetRGBFillColor(context, 0, 1.0, 0, 1);//设置填充颜色
CGContextSetLineWidth(context, 3.0);//设置线条宽度
CGContextSetLineCap(context, kCGLineCapButt);//设置顶点样式
CGContextSetLineJoin(context, kCGLineJoinRound);//设置链接点样式
CGFloat lengths[2] = {10,10};
CGContextSetLineDash(context, 0, lengths, 2);//设置线的样式,虚线的间隔
CGColorRef color = [UIColor blueColor].CGColor;//虚线之间连接线的颜色
CGContextSetShadowWithColor(context, CGSizeMake(2, 2), 0.8, color);
//绘制图像到指定图形上下文
/*
kCGPathFill:只有填充(非零缠绕数填充),不绘制边框
kCGPathStroke:只有边框
kCGPathFillStroke:既有边框又有填充
kCGPathEOFillStroke:奇偶填充并绘制边框
*/
CGContextDrawPath(context, kCGPathFillStroke);//最后一个参数是填充类型
//释放对象
CGPathRelease(path);
#elif 0
//简化绘图方式
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextMoveToPoint(context, 20, 50);
CGContextAddLineToPoint(context, 20, 100);
CGContextAddLineToPoint(context, 300, 100);
CGContextSetLineWidth(context, 3.0);//设置线条宽度
CGContextClosePath(context);//路径封闭
[[UIColor redColor] setStroke];//边框颜色
[[UIColor greenColor] setFill];//填充颜色
CGContextDrawPath(context, kCGPathFillStroke);
#elif 0
//画矩形
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect myRect = CGRectMake(20, 50, 280.0, 50.0);//矩形坐标
CGContextAddRect(context, myRect);//添加矩形对象
[[UIColor redColor] set];//设置填充颜色
CGContextDrawPath(context, kCGPathFillStroke);//绘制
// UIRectFrame(myRect);//只画边框
#elif 0
//画圆形
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect myRect = CGRectMake(50, 50, 200, 200);
CGContextAddEllipseInRect(context, myRect);//添加圆形对象
[[UIColor purpleColor] set];//填充颜色
CGContextDrawPath(context, kCGPathFillStroke);
#elif 1
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddArc(context, 160, 160, 100, 0, M_PI, 1);//添加弧形
[[UIColor redColor] set];//填充颜色
CGContextDrawPath(context, kCGPathFillStroke);//绘制
#endif
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/lu_ca/article/details/46697937