iOS Quartz2D绘制简单图形

来源:互联网 发布:php tp框架 c函数 编辑:程序博客网 时间:2024/06/05 10:26

Quartz2D 绘制简单图形 :

  1. 获取图形上下文
  2. 绘图
  3. 渲染

要求:画两条线

代码:

- (void)drawRect:(CGRect)rect {//    绘制一条线    //    获取图形上下文,上下文的输出目录就是self[view]    CGContextRef context = UIGraphicsGetCurrentContext();    //    设置线的颜色//    CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1);//    也可以用下面的方式来设置颜色    [[UIColor redColor] set];    //    设置头尾样式//    kCGLineCapButt,不知道什么东西//    kCGLineCapRound,圆形//    kCGLineCapSquare//方形    CGContextSetLineCap(context, kCGLineCapSquare);    //    设置连接点样式    CGContextSetLineJoin(context, kCGLineJoinRound);    //    设置线宽    CGContextSetLineWidth(context, 10);    //    画第一条线//    设置第一个点    CGContextMoveToPoint(context, 100, 10);//    设置第二个点    CGContextAddLineToPoint(context, 100, 200);//    渲染第一条线    CGContextStrokePath(context);    //    第二条线    CGContextMoveToPoint(context, 150, 10);    CGContextAddLineToPoint(context, 80, 200);    //    如果想要让两条线的样式不一样,那么第二条线就要先清空状态再设置样式//    清空状态    CGContextSetLineWidth(context, 1);    [[UIColor blackColor]set];    CGContextSetLineCap(context,kCGLineCapButt);    //    渲染第二条线    CGContextStrokePath(context);        }


运行效果:

绘制矩形跟三角形:
#pragma mark 绘制三角形-(void)drawTriangle{    //    获取图形上下文,上下文的输出目录就是self[view]    CGContextRef context = UIGraphicsGetCurrentContext();        //    设置线的颜色    CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1);        ////    设置第一个点        CGContextMoveToPoint(context, 10, 10);        //    设置第二个点        CGContextAddLineToPoint(context, 110, 10);        //    设置第三个点        CGContextAddLineToPoint(context, 110, 110);    //闭合    CGContextClosePath(context);    //    渲染   CGContextStrokePath(context);    }
三角形效果图:

绘制矩形:
-(void)drawRectangle{        //    绘制一条线        //    获取图形上下文,上下文的输出目录就是self[view]    CGContextRef context = UIGraphicsGetCurrentContext();        //    设置线的颜色    CGContextSetRGBStrokeColor(context, 1.0, 0.0, 0.0, 1);            //    设置线宽    //    CGContextSetLineWidth(context, 10);            ////    画矩形(第一种方法)    ////    设置第一个点    //    CGContextMoveToPoint(context, 10, 10);    //    ////    设置第二个点    //    CGContextAddLineToPoint(context, 110, 10);    //    ////    设置第三个点    //    CGContextAddLineToPoint(context, 110, 110);    //    ////    设置第三个点    //    CGContextAddLineToPoint(context, 10, 110);    //    //    CGContextAddLineToPoint(context, 10, 10);        //  ===========第二种方法======================    CGContextAddRect(context, CGRectMake(10, 10, 100, 100));                //    渲染    //    空心    //    CGContextStrokePath(context);        //    填充[实心]    CGContextFillPath(context);}
矩形效果图

0 0
原创粉丝点击