资讯专栏INFORMATION COLUMN

[分享]iOS开发-CGContextRef画图小结

monw3c / 2256人阅读

摘要:画实心圆画实心圆参数圆坐标。可以是椭圆画一个菱形填充了一段路径分享来源

 CGContextRef context = UIGraphicsGetCurrentContext(); //设置上下文
//画一条线
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);//线条颜色
CGContextSetLineWidth(context, 5.0);//线条宽度
CGContextMoveToPoint(context, 20, 20); //开始画线, x,y 为开始点的坐标
CGContextAddLineToPoint(context, 300, 20);//画直线, x,y 为线条结束点的坐标
CGContextStrokePath(context); //开始画线

//绘制贝兹曲线
//贝兹曲线是通过移动一个起始点,然后通过两个控制点,还有一个中止点,调用CGContextAddCurveToPoint() 函数绘制
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGContextMoveToPoint(context, 10, 10);
CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);
CGContextStrokePath(context);



 //绘制连续的曲线
CGContextSetLineWidth(context, 5.0);
CGContextSetStrokeColorWithColor(context, [UIColor greenColor].CGColor);
CGContextMoveToPoint(context, 230, 150);//开始画线, x,y 为开始点的坐标
CGContextAddCurveToPoint(context, 310, 100, 300, 200, 220, 220);//画三次点曲线
CGContextAddCurveToPoint(context, 290, 140, 280, 180, 240, 190);//画三次点曲线

CGContextStrokePath(context);//开始画线

//绘制虚线
CGContextSetRGBStrokeColor(context, 0.1, 0.2, 0.3, 1);//线条颜色
float dashArray1[] = {3, 2};
CGContextSetLineDash(context, 0, dashArray1, 2);//画虚线,可参考http://blog.csdn.net/zhangao0086/article/details/7234859
CGContextMoveToPoint(context, 5, 70);//开始画线, x,y 为开始点的坐标
CGContextAddLineToPoint(context, 310, 70);//画直线, x,y 为线条结束点的坐标
CGContextStrokePath(context);//开始画线


//绘制虚曲线
CGContextSetRGBStrokeColor(context, 0.3, 0.2, 0.1, 1);//线条颜色
float dashArray2[] = {3, 2, 10};
CGContextSetLineDash(context, 0, dashArray2, 3);//画虚线
CGContextMoveToPoint(context, 5, 90);//开始画线, x,y 为开始点的坐标
CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);
CGContextStrokePath(context);//开始画线

//绘制连续的曲线
CGContextSetLineWidth(context, 5.0);
float dashArray3[] = {3, 2, 10, 20, 5};
CGContextSetLineDash(context, 0, dashArray3, 5);//画虚线
CGContextSetStrokeColorWithColor(context, [UIColor greenColor].CGColor);
CGContextMoveToPoint(context, 5, 400);//开始画线, x,y 为开始点的坐标
CGContextAddCurveToPoint(context, 50, 200, 80, 300, 100, 220);//画三次点曲线
CGContextAddQuadCurveToPoint(context, 150, 100, 200, 200);//画二次点曲线
CGContextAddCurveToPoint(context, 240, 400, 10, 50, 300, 300);//画三次点曲线
CGContextStrokePath(context);//开始画线



//画一个方形图形 没有边框
CGContextSetRGBFillColor(context, 0, 0.25, 0, 0.5); //方框的填充色
CGContextFillRect(context, CGRectMake(5, 150, 100, 100)); //画一个方框


//画弧线
CGContextSetRGBStrokeColor(context, 0.3, 0.4, 0.5, 1);//线条颜色
CGContextAddArc(context, 180, 200, 50, 0, 180*(M_PI/180), 0);

CGContextStrokePath(context);//开始画线

//画方形边框
CGContextRef context5 = UIGraphicsGetCurrentContext(); //设置上下文
CGContextSetLineWidth(context5, 3.0);
CGContextSetRGBStrokeColor(context5, 0.8, 0.1, 0.8, 1);
CGContextStrokeRect(context5, CGRectMake(5, 5, 300, 400));//画方形边框, 参数2:方形的坐标。

//画椭圆
CGRect aRect= CGRectMake(80, 80, 160, 100);
CGContextSetRGBStrokeColor(context, 0.6, 0.9, 0, 1.0);
CGContextSetLineWidth(context, 3.0);
CGContextAddEllipseInRect(context, aRect); //椭圆, 参数2:椭圆的坐标。
CGContextDrawPath(context, kCGPathStroke);

//画实心圆
CGContextFillEllipseInRect(context, CGRectMake(95, 195, 200.0, 100));//画实心圆,参数2:圆坐标。可以是椭圆

//画一个菱形
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGContextMoveToPoint(context, 100, 100);
CGContextAddLineToPoint(context, 150, 150);
CGContextAddLineToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 50, 150);
CGContextAddLineToPoint(context, 100, 100);
CGContextStrokePath(context);

//填充了一段路径:
CGContextMoveToPoint(context, 100, 100);
CGContextAddLineToPoint(context, 150, 150);
CGContextAddLineToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 50, 150);
CGContextAddLineToPoint(context, 100, 100);
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextFillPath(context);

分享来源:
http://blog.sina.com.cn/s/blo...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16109.html

相关文章

  • 分享iOS开发-CGContext小记

    摘要:奇偶规则,假如一个点被跨过,那么,最后是奇数,那么要被填充,偶数则不填充,和方向没有关系。 0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGContextAddLineToPoint 画直线 4 CGContextAddEllipseInRect ...

    2501207950 评论0 收藏0
  • 分享iOS开发CGContextRef详解

    摘要:修改当前剪贴路径,使用奇偶规则。开始透明度层,它的边界是指定的矩形,其内容是有界的。在当前文本位置,由目前的文本矩阵指定的点显示一个字符数组。该空间的单位由点来表示。设备坐标空间指的是设备内在的坐标空间,由像素来表示。 Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框...

    yuanzhanghu 评论0 收藏0
  • Quartz 2D学习(一)简单绘制图形

    摘要:学习一简单绘制图形导语是一个二维图形绘制引擎,它支持环境和环境,为开发者提供了很多方便,它在绘图上的功能十分强大,如基于路径的绘图透明度阴影颜色管理反锯齿文档生成等。本篇内容将介绍和绘制图形的基本流程。 Quartz 2D学习(一)简单绘制图形 导语 Quartz 2D是一个二维图形绘制引擎,它支持iOS环境和Mac OS X环境,为开发者提供了很多方便,它在绘图上的功能十分强大,如...

    jifei 评论0 收藏0
  • 【译】Core Graphics, 第二部分:说说 context (上下文)

    摘要:事实上,它在背后维持着一个栈。当你保存了当前的设置,它们被压入一个栈中。将当前的的一份拷贝压入栈中。有栈的概念,这也存在于中。你可以用来将当前的一份拷贝压入栈并且可以通过弹出保存的状态有效地撤销任何对的改变。 原文链接:Core Graphics, Part 2: Contextually Speaking译文原链:【译】Core Graphics, 第二部分:说说 context (...

    Taonce 评论0 收藏0
  • Quartz 2D学习(三)自定义圆角按钮

    摘要:学习三自定义圆角按钮导语是一个二维图形绘制引擎,它支持环境和环境,为开发者提供了很多方便,它在绘图上的功能十分强大,如基于路径的绘图透明度阴影颜色管理反锯齿文档生成等。本篇内容将介绍自定义的实现。 Quartz 2D学习(三)自定义圆角按钮 导语 Quartz 2D是一个二维图形绘制引擎,它支持iOS环境和Mac OS X环境,为开发者提供了很多方便,它在绘图上的功能十分强大,如基于...

    Jingbin_ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<