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

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

  

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

 

 

 

 

 

 

 

 

 

  

posted on 2016-01-20 09:43  坚持才能不懈  阅读(147)  评论(0编辑  收藏  举报

导航