zoukankan      html  css  js  c++  java
  • 记录一次Quartz2D学习(四)

    (三)内主要讲了图片与文字的绘制

     本次主要讲解 绘制状态的保存与恢复,以及对它的使用

    4.绘制状态  

      4.1 绘制状态的保存与恢复,以及对它的应用

      TIP:通过对保存恢复绘制状以及多次的渲染,可以绘制出复合的图形与涂层

    - (void)drawRect:(CGRect)rect {

        //获取上下文

        CGContextRef  ctx = UIGraphicsGetCurrentContext();

        //设置线条的宽度

        CGContextSetLineWidth(ctx, 10);

        //保存绘制的状态

        CGContextSaveGState(ctx);

        //设置线条的颜色

        [[UIColor yellowColor] set];

        //移动起始点到

        CGContextMoveToPoint(ctx, 100, 100);

        //添加线条

        CGContextAddLineToPoint(ctx, 150, 150);

        //渲染

        CGContextStrokePath(ctx);

        

        //恢复到上次绘制状态(绘制第二条线条)

        CGContextRestoreGState(ctx);

        //移动到起始点

        CGContextMoveToPoint(ctx, 200, 200);

        //添加线条

        CGContextAddLineToPoint(ctx, 150, 150);

        //渲染

        CGContextStrokePath(ctx);

    }

     

     

     

     

     

    4.2绘制状态保存与恢复的说明

      类似与H5内的canvas画布, 渲染是按照本次绘制的绘制状态来绘制的,

      如果对上次的绘制状态进行了保存,下次调用的时候就会处于上次的绘制状态(假如没有做出改变)。  

      

      通过与多次渲染的协调,可以绘制出复杂图层

     

     

     

     

     

     

     

     

     

      

  • 相关阅读:
    npm start 时报 node_modules/nan 错误
    webpack 插件依赖
    reducer-form 数组字段 在removeField/removeField 之后 dirty 不改变的问题
    sass 入门教程
    解决国内gem不能用的问题
    nrm 快速切换 NPM 源
    数值补全指定位数
    文本溢出使用省略号
    css/js效果笔记
    用MyEclipse,只要一开css文件就报错,按下任何键都报错
  • 原文地址:https://www.cnblogs.com/thxios/p/5144108.html
Copyright © 2011-2022 走看看