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

Quartz2D初体验之画线、画矩形

时间:2015-12-02 00:35:39      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

首先创建了一个继承自UIView的LineView类,在storyboard中添加一个UIView,并把这个view的Custom Class属性设置为LineView

技术分享

 

线的实现代码如下

- (void)drawRect:(CGRect)rect {

    // Drawing code

    //绘一条线

    

    //获取上下文 上下文的输出目标就是self.view

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    //设置线的颜色

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

    

    //设置线宽

    CGContextSetLineWidth(context, 12);

    

    //设置线头尾的样式

    CGContextSetLineCap(context, kCGLineCapRound);

    

    //设置连接点的样式

    CGContextSetLineJoin(context, kCGLineJoinRound);

    

    //画一条线

    //设置起点

    CGContextMoveToPoint(context, 10, 10);

    

    //设置连线另一点

    CGContextAddLineToPoint(context, 20, 100);

    CGContextAddLineToPoint(context, 110, 10);

    

    //画到view [渲染]

    CGContextStrokePath(context);

    

}

 

矩形及三角形的实现代码

- (void)drawRect:(CGRect)rect {

    // Drawing code

    

    //[self drawRectangle];

    [self drawTriangle];

 

    

}

 

- (void)drawTriangle{

    

    //获取上下文

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    //设置线的颜色

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

    

    //绘制一个点

    CGContextMoveToPoint(context, 10, 10);

    

    //绘制另外三个点

    CGContextAddLineToPoint(context, 110, 10);

    CGContextAddLineToPoint(context, 110, 110);

    //CGContextAddLineToPoint(context, 10, 10);

    

    //关闭路径

    CGContextClosePath(context);

    

    //渲染

    CGContextStrokePath(context);

}

 

- (void)drawRectangle{

 

    //绘一条线

    

    //获取上下文 上下文的输出目标就是self.view

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    //设置线的颜色

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

    

    //设置线宽

    CGContextSetLineWidth(context, 5);

    

    

    //画一个矩形

    //=========第一种方法====================

    //    //设置起点

    //    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));

    

    //画到view [渲染]

    

    //只是画一条 【空心】

    //CGContextStrokePath(context);

    

    //填充 【实心】

    CGContextFillPath(context);

 

}

技术分享

 

 

Quartz2D初体验之画线、画矩形

标签:

原文地址:http://www.cnblogs.com/lw1994/p/5011565.html

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