码迷,mamicode.com
首页 > 其他好文 > 详细

Quartz 2D:初识

时间:2016-06-15 16:01:44      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

在UIView中重写drawRect方法

- (void)drawRect:(CGRect)rect {

    [self drawLine];

}

 

#pragma mark 画线操作

- (void)drawLine{

    //1、获取上下文-UIView对应的上下文

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    //2、创建可变路径并设置路径

    CGMutablePathRef path = CGPathCreateMutable();

      //1设置起始点

    CGPathMoveToPoint(path, NULL, 50, 50);

      //2设置目标点

    CGPathAddLineToPoint(path, NULL, 200, 200);

    

    CGPathAddLineToPoint(path, NULL, 50, 200);

      //3封闭路径:a、直接指定目标点

//    CGPathAddLineToPoint(path, NULL, 50, 50);

               //b、使用关闭路径方法

    CGPathCloseSubpath(path);

    //3、将路径添加到上下文

    CGContextAddPath(context, path);

    

    //4、设置上下文属性

         /*

     red  0~1.0  red / 255

     alpha   透明度  0~1.0  ( 0 :完全透明)

     提示:1、在使用rgb颜色设置时,不要同时指定rgb 和 alpha ,否则会对性能造成一定影响

          2、默认线条和填充颜色都是黑色

         */

      //1设置线条颜色

//    CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1.0);

    CGContextSetRGBFillColor(context, 0.0, 1.0, 0.0, 1.0);

      //2设置线条宽度

    CGContextSetLineWidth(context, 5.0f);

      //3设置线条的顶点

    CGContextSetLineCap(context, kCGLineCapRound);

      //4设置线条的连接点样式

    CGContextSetLineJoin(context, kCGLineJoinBevel);

      //5设置线条的虚线样式

         /*

     虚线的参数:context

               phase 相位,虚线的起始位置通常使用0即可,从头开始画虚线

               lengths长度的数组

               count lengths数组的个数

         */

    CGFloat lengths[2] = {20.0,10.0};

    CGContextSetLineDash(context, 0.0, lengths, 2);

    

    //5、绘制路径

         /*

     kCGPathStroke      画线(空心)

     kCGPathFill        填充(实心)

     kCGPathFillStroke  既画线又填充

        */

    CGContextDrawPath(context, kCGPathStroke);

    

    //6、释放路径

    CGPathRelease(path);

 

Quartz 2D:初识

标签:

原文地址:http://www.cnblogs.com/Miracle-Huang/p/5587576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!