标签:
#import <UIKit/UIKit.h> @interface MyView : UIView @end
#import "MyView.h" @implementation MyView -(void) drawRect:(CGRect)rect{ [self drawLine]; } #pragma mark - 绘图方法 #pragma mark 绘制直线 -(void) drawLine{ //提示:使用Ref声明的对象,不需要用* //1. 获取上下文 - UIView对应的上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //2. 创建路径并设置路径(可变路径) CGMutablePathRef path =CGPathCreateMutable(); //划线 // 1)设置起始点 CGPathMoveToPoint(path, NULL, 50, 50); // 2)设置中间点 // 3)设置目标点 CGPathAddLineToPoint(path, NULL, 200, 200); CGPathAddLineToPoint(path, NULL, 50, 200); // 4) 设置封闭路径 // a) 直接指定目标点 //CGPathAddLineToPoint(path, NULL, 50, 50); // b)使用关闭路径 CGPathCloseSubpath(path); //3. 将路径添加到上下文 CGContextAddPath(context, path); //4. 设置上下文属性(状态) /** 设置线条颜色 red 0 ~ 1.0 red / 255 green 0 ~ 1.0 green / 255 blue 0 ~ 1.0 blue / 255 alpha 透明度 0 ~ 1.0 0 - 完全透明 1.0 ~ 完全不透明 提示:1)使用RGB颜色设置时,最好不要同时指定RGB和alpha,性能损耗 2) 默认线条和填充颜色都是黑色 */ CGContextSetRGBStrokeColor(context, 1.0, 0, 0, 1.0); CGContextSetRGBFillColor(context, 0, 1, 0, 1.0); //设置线条宽度 CGContextSetLineWidth(context, 5.0f); //设置线条的顶点样式 CGContextSetLineCap(context, kCGLineCapRound); //设置线条的链接点样式 CGContextSetLineJoin(context, kCGLineJoinRound); //设置线条虚线样式 /* 虚线参数 context: phase:相位、虚线起始位置,通常使用0,从都开始画 lengths:长度数组 count lengths:数组个数 */ CGFloat lengths[3] = {10,20,30}; CGContextSetLineDash(context, 0, lengths, 3); //5. 绘制路径 /** kCGPathStroke 画线(空心) kCGPathFill 填充(实心) kCGPathFillStroke 即画线又填充 */ CGContextDrawPath(context, kCGPathFillStroke); //6. 释放路径 CGPathRelease(path); } @end
标签:
原文地址:http://www.cnblogs.com/wlxm/p/4294971.html