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

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

      

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

     

     

     

     

     

     

     

     

     

      

  • 相关阅读:
    Binary Tree Inorder Traversal
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Majority Element
    Excel Sheet Column Number
    Reverse Bits
    Happy Number
    House Robber
    Remove Linked List Elements
    Contains Duplicate
  • 原文地址:https://www.cnblogs.com/thxios/p/5144108.html
Copyright © 2011-2022 走看看