ios画线

画线:

C语言的函数库勾勒线条:
继承了UIView的类:(实现里面的方法)
线条的宽度会占用里面填充的空间,所以先描边还是先填充所看到的图形是有区别的

//该方法在创建 MyView对象时 会自动调用一次
//该方法不可以手动调用
- (void)drawRect:(CGRect)rect {
   //获取系统的当前上下文对象
    //1.获取当前画布
//    CGContextRef context = UIGraphicsGetCurrentContext();
//    //2.勾勒图形
//    //设置绘图的起始点
//    CGContextMoveToPoint(context, 40, 40);
//    //添加第一个路径点
//    CGContextAddLineToPoint(context, 40, 140);
//    CGContextAddLineToPoint(context, 140, 140);
//    CGContextAddLineToPoint(context, 140, 40);
//    CGContextAddLineToPoint(context, 40, 40);

//    //设置描边颜色
//    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);

//    //描边
//    CGContextStrokePath(context);
//    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
//    //填充
}

贝塞尔绘制线条:

实例方法:
画线:
起笔:
[path moveToPoint:CGPointMake(40, 40)];
勾勒:
[path addLineToPoint:CGPointMake(140, 200)];
闭合曲线:(当线条的宽度不为1的时候用效果好,如果用描边的方式会有部分地方的像素空白)
[path closePath];
描边、填充:
[path stroke/fill];
用颜色设置填充色/边的颜色:
[[UIColor greenColor] setFill/setStroke];

属性:
设置线条的宽度:
path.lineWidth = 10;
设置线条两端的样式:
path.lineCapStyle = kCGLineCapSquare;
设置线条焦点的样式(就是线条的相交的地方)
path.lineJoinStyle = kCGLineJoinBevel;
继承了UIView的类:(实现里面的方法)
线条的宽度会占用里面填充的空间,所以先描边还是先填充所看到的图形是有区别的

//该方法在创建 MyView对象时 会自动调用一次
//该方法不可以手动调用

- (void)drawRect:(CGRect)rect {
    //1.创建贝塞尔路径的实例
//    UIBezierPath *path = [UIBezierPath bezierPath];(一个对象可以勾勒多个图形,但是这2个图形的色彩,形式呈现的是一样的)
//    //2.勾勒图形
//    [path moveToPoint:CGPointMake(40, 40)];
//    [path addLineToPoint:CGPointMake(140, 40)];
//    [path addLineToPoint:CGPointMake(140, 140)];
//    [path addLineToPoint:CGPointMake(40, 140)];
////    [path addLineToPoint:CGPointMake(40, 40)];
//    [path closePath];
//    [path moveToPoint:CGPointMake(40, 200)];
//    [path addLineToPoint:CGPointMake(140, 200)];
//    [path addLineToPoint:CGPointMake(140, 300)];
//    [path addLineToPoint:CGPointMake(40, 300)];
//    [path closePath];
//    
//    //设置描边线的宽度
//    path.lineWidth = 10;
//    //焦点的样式
////    kCGLineJoinMiter, //尖的
////    kCGLineJoinRound, //圆的
////    kCGLineJoinBevel  //斜的  角被砍掉
//    path.lineJoinStyle = kCGLineJoinBevel;
//    //线两端的样式
////    kCGLineCapButt,  //方的
////    kCGLineCapRound, //圆的 多出一块
////    kCGLineCapSquare //方的 多出一块
//    path.lineCapStyle = kCGLineCapSquare;
//    
//    //设置 描边颜色
//    [[UIColor redColor] setStroke];
//    //设置 填充颜色
//    [[UIColor greenColor] setFill];
//    //描边
//    [path stroke];
//    //填充
////    [path fill];
}
posted @ 2017-08-23 21:19  笑笑就好90  阅读(222)  评论(0编辑  收藏  举报