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画布, 渲染是按照本次绘制的绘制状态来绘制的,

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

      

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

     

     

     

     

     

     

     

     

     

      

  • 相关阅读:
    python的ORM框架SQLAlchemy
    SQLAlchemy技术文档(中文版)-下
    SQLAlchemy技术文档(中文版)-上
    python的class的__str__和__repr__(转)
    虚拟化技术之KVM
    cobbler部署安装
    pxe+kickstart 无人值守安装CentOS7.1
    超详细saltstack安装部署及应用
    页面缓存
    db2 常用命令
  • 原文地址:https://www.cnblogs.com/thxios/p/5144108.html
Copyright © 2011-2022 走看看