zoukankan      html  css  js  c++  java
  • 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];
    }
    
    成功的三大原则: 1、坚持 2、不要脸 3、坚持不要脸
  • 相关阅读:
    php环境搭建工具包推荐
    Android视频直播解决方案(rstp、udp)
    软件版本号命名
    附加数据库失败,无法升级数据库,因为它是只读的
    Web Api如何传递POST请求
    找回Reshaprer的Alt+Enter快捷键的方法
    asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页
    asp.net 回发或回调参数无效的各种情况分析及解决办法
    MQTT, XMPP, WebSockets还是AMQP?泛谈实时通信协议选型 good
    echarts 专题
  • 原文地址:https://www.cnblogs.com/xulinmei/p/7420272.html
Copyright © 2011-2022 走看看