iOS 画线 绘制直线、矩形、三角形
在UIView中绘制直线、矩形、三角形
直线
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
- ( void )drawRect:(CGRect)rect { //获得处理的上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //指定直线样式 CGContextSetLineCap(context, kCGLineCapSquare); //直线宽度 CGContextSetLineWidth(context, 2.0); //设置颜色 CGContextSetRGBStrokeColor(context, 0.314, 0.486, 0.859, 1.0); //开始绘制 CGContextBeginPath(context); //画笔移动到点(31,170) CGContextMoveToPoint(context, 31, 70); //下一点 CGContextAddLineToPoint(context, 129, 148); //下一点 CGContextAddLineToPoint(context, 159, 148); //绘制完成 CGContextStrokePath(context); } |
矩形
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
- ( void )drawRect:(CGRect)rect{ //创建路径并获取句柄 CGMutablePathRef path = CGPathCreateMutable(); //指定矩形 CGRect rectangle = CGRectMake(10.0f, 10.0f,200.0f, 300.0f); //将矩形添加到路径中 CGPathAddRect(path, NULL , rectangle); //获取上下文 CGContextRef currentContext = UIGraphicsGetCurrentContext(); //将路径添加到上下文 CGContextAddPath(currentContext, path); //设置矩形填充色 [[UIColor colorWithRed:0.20f green:0.60f blue:0.80falpha:1.0f] setFill]; //矩形边框颜色 [[UIColor brownColor] setStroke]; //边框宽度 CGContextSetLineWidth(currentContext,5.0f); //绘制 CGContextDrawPath(currentContext, kCGPathFillStroke); CGPathRelease(path); } |
三角形
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
- ( void )drawRect:(CGRect)rect { //设置背景颜色 [[UIColor clearColor]set]; UIRectFill([ self bounds]); //拿到当前视图准备好的画板 CGContextRef context = UIGraphicsGetCurrentContext(); //利用path进行绘制三角形 CGContextBeginPath(context); //标记 CGContextMoveToPoint(context, 0, 0); //设置起点 CGContextAddLineToPoint(context, 165, 0); CGContextAddLineToPoint(context, 165, 105); CGContextClosePath(context); //路径结束标志,不写默认封闭 [[UIColor whiteColor] setFill]; //设置填充色 [[UIColor whiteColor] setStroke]; //设置边框颜色 CGContextDrawPath(context, kCGPathFillStroke); //绘制路径path } |