• 记录一次Quartz2D学习(二)


    (一)内主要就是讲了线条的绘制以及绘制状态的保存与恢复

    本次就讲一些图形的画法

    2 图形的绘制

      2.1  三角形的绘制 :(就是绘制三条线)

    - (void)drawRect:(CGRect)rect {

        //获取绘制上下文

        CGContextRef    ctx =UIGraphicsGetCurrentContext();

        //设置连接处的圆角

        CGContextSetLineJoin(ctx, kCGLineJoinRound);

        //设置颜色以及线条粗细

        [[UIColor yellowColor] set];

        CGContextSetLineWidth(ctx, 20);

        //移动起始点

        CGContextMoveToPoint(ctx, 50, 50);

        //三条先的绘制

        CGContextAddLineToPoint(ctx, 150, 150);

        CGContextAddLineToPoint(ctx, 50, 200);

        CGContextAddLineToPoint(ctx, 50, 50);

        //绘制

        CGContextStrokePath(ctx)}

     

      2.2   长方形的绘制

      TIP:这里设置线条的宽度 ,不会影响坐标,线宽会按照绘制的线条想上下或者左右进行绘制

    - (void)drawRect:(CGRect)rect {

        //获取绘制上下文

        CGContextRef    ctx =UIGraphicsGetCurrentContext();

        //设置连接处的圆角

        CGContextSetLineJoin(ctx, kCGLineJoinRound);

        //设置颜色以及线条粗细

        CGContextSetLineWidth(ctx, 20);

        [[UIColor yellowColor] set];

        //直接调用添加矩形方法

        CGContextAddRect(ctx, CGRectMake(0, 0, 300, 250));

        //使用下面这个方法创建一个实心的矩形

        CGContextFillRect(ctx, CGRectMake(0,260, 300, 100));

        //绘制---使用填充方法之后  可以不使用渲染方法

        CGContextStrokePath(ctx);

    }

     

     

     

     

    实心矩形

     

      

     

      2.3 绘制一个圆形

      

    - (void)drawRect:(CGRect)rect {

        //获取绘制上下文

        CGContextRef    ctx =UIGraphicsGetCurrentContext();

        //设置连接处的圆角

        CGContextSetLineJoin(ctx, kCGLineJoinRound);

        //设置颜色以及线条粗细

        CGContextSetLineWidth(ctx, 20);

        [[UIColor yellowColor] set];

        //使用下面方法绘制一个空心圆 一个PI只能绘制半圆 --  弧形也可以通过这种方式来绘制

        CGContextAddArc(ctx, 100, 100, 50, 0, M_PI*2, 0 );

        //使用下面方法来绘制一个实心的圆或者椭圆

        CGContextFillEllipseInRect(ctx, CGRectMake(100, 100, 100, 50));

            //绘制---使用填充方法之后  可以不使用渲染方法

        CGContextStrokePath(ctx);

    }

     

     

      2.4 绘制扇形

      

    - (void)drawRect:(CGRect)rect {

        //获取绘制上下文

        CGContextRef    ctx =UIGraphicsGetCurrentContext();

        //设置颜色以及线条粗细

        CGContextSetLineWidth(ctx, 20);

        [[UIColor yellowColor] set];

        //使用下面方法绘制一个空心圆 一个PI只能绘制半圆

        CGContextAddArc(ctx, 100, 100, 50, 0, M_PI, 0 );

        //使用下面方法来绘制一个封闭的扇形

        CGContextClosePath(ctx);

        //使用下面方法填充扇形

        CGContextSetRGBFillColor(ctx, 255, 0, 0, 1);

        //使用下面方法来封闭上面的扇形

        CGContextFillPath(ctx);

        //绘制---使用填充方法之后  可以不使用渲染方法

        CGContextStrokePath(ctx);

    }

     

     

     

     

     

     

     

     2.5 填充一个四分之一圆

    - (void)drawRect:(CGRect)rect {

        //获取绘制上下文

        CGContextRef    ctx =UIGraphicsGetCurrentContext();

        //设置颜色以及线条粗细

        CGContextSetLineWidth(ctx, 20);

        [[UIColor yellowColor] set];

        //移动到初始点

        CGContextMoveToPoint(ctx, 100, 200);

        //添加线条

        CGContextAddLineToPoint(ctx, 200, 200);

        //添加线条

        CGContextAddLineToPoint(ctx, 200, 300);

        //添加圆弧

        CGContextAddArc(ctx, 200, 200, 100, M_PI / 2, M_PI, 0);

        //填充

        CGContextFillPath(ctx);

    }

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    sqlalchemy访问Oracle数据库报错:UnicodeDecodeError: 'big5' codec can't decode byte 0xfb in position 2: illegal multibyte sequence
    Mac如何安装FastDfs
    Django执行Sql语句笔记
    跑DRF框架分页源码笔记
    Python Paginator分页学习
    Python Excel笔记
    npm run dev报错解决方法
    npm install --global vue-cli 报错 [..................] / rollbackFailedOptional: verb npm-session abfa82f3041ebc02
    MS17_010漏洞攻击Windows7
    虚拟机启动黑屏
  • 原文地址:https://www.cnblogs.com/thxios/p/5143243.html
Copyright © 2020-2023  润新知