IOS绘图的核心步骤

在view上绘制一个图形的方式有很多种,表现形式可能不一样,但其实质步骤都是一样的:

1)获取上下文

2)绘制路径

3)添加路径到上下文

4)修改图形状态参数

5)渲染上下文

下面我们以画一个圆形来演示其实现步骤:

1)使用CGContextRef创建路径


1

2

3

4

5

6

7

8

9

 //获取上下文

 CGContextRef ctx = UIGraphicsGetCurrentContext();

 //绘制路径: 圆形(中心坐标200、200、半径100、起点弧度0、终点弧度2PI、画的方向0逆1正)

 CGContextAddArc(ctx, 200, 200, 100, 0, M_PI * 2, 0);

 //修改图形状态参数

 CGContextSetRGBStrokeColor(ctx, 0.5, 0.5, 0.9, 1.0);//笔颜色

 CGContextSetLineWidth(ctx, 10);//线条宽度

 //渲染上下文

 CGContextStrokePath(ctx);

2)使用CGPathRef创建路径


1

2

3

4

5

6

7

8

9

10

11

12

13

 //获取上下文

 CGContextRef ctx = UIGraphicsGetCurrentContext();

 //创建可变路径

 CGMutablePathRef path = CGPathCreateMutable();

 //添加圆形到路径中(所在路径、不进行变换操作、中心坐标200、200、起点弧度0、终点弧度2PI、画的方向0逆1正)

 CGPathAddArc(path, NULL, 200, 200, 100, 0, M_PI * 2, 1);

 //将路径添加到上下文

 CGContextAddPath(ctx, path);

 //修改图形状态参数

 CGContextSetRGBStrokeColor(ctx, 0.5, 0.5, 0.9, 1.0);//笔颜色

 CGContextSetLineWidth(ctx, 10);//线条宽度

 //渲染上下文

 CGContextStrokePath(ctx);

3)使用UIBezierPath创建路径


1

2

3

4

5

6

7

 //创建路径

 UIBezierPath * path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(100, 100, 200, 200)];

 //修改图形状态参数

 [[UIColor colorWithRed:0.5 green:0.5 blue:0.9 alpha:1.0] setStroke];//笔颜色

 [path setLineWidth:10];//线条宽度

 //渲染

 [path stroke];

以上三种方式都可以实现绘制,通过比较我们可以发现使用UIBezierPath创建路径的形式是最简洁且最直观的,推荐使用UIBezierPath,在以后的动画中我们也将更多地应用UIBezierPath到动画的实现中。

时间: 2024-08-29 03:35:07

IOS绘图的核心步骤的相关文章

iOS绘图教程

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的绘图.变换.颜色管理.脱屏渲染,模板.渐变.遮蔽.图像数据管理.图像的创建.遮罩以及PDF文档的创建.显示和分析.为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的example code. iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES.OpenGL ES是跨平台的

ios绘图总结

ios绘图总结 分类: IOS_绘图 2012-11-28 11:21 347人阅读 评论(0) 收藏 举报 http://www.cnblogs.com/yuanxiaoping_21cn_com/archive/2012/03/24/2415706.html 0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGContextAddLineToPoint 画直

【转】IOS版本自定义字体步骤

本文转载自:http://quick.cocoachina.com/wiki/doku.php?id=ios%E7%89%88%E6%9C%AC%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%97%E4%BD%93%E6%AD%A5%E9%AA%A4 比如字体文件名叫abc.ttf, 用mac字体工具查到字体的名称: PostScript名称 FZYHJW--GB1-0 全名 方正艺黑简体 这个PostScript 名称就是我们的字体名称,

绘制阴影引发的 iOS 绘图性能问题总结

转自:http://blog.devdlh.com/blog/2013/03/18/performance-problerm-caused-by-shadowpath/ 绘制阴影引发的 iOS 绘图性能问题总结 MAR 18TH, 2013 | COMMENTS 在 iOS 开发中,通过设置 layer 的 shadowColor.shadowOpacity.shadowOffset.shadowRadius 几个属性可以很方便的为 UIView 添加阴影效果.但是前段时间碰到一个问题,在添加了

ios绘图教程(转摘)

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的绘图.变换.颜色管理.脱屏渲染,模板.渐变.遮蔽.图像数据管理.图像的创建.遮罩以及PDF文档的创建.显示和分析.为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的example code. iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES.OpenGL ES是跨平台的

iOS绘图教程(个人学习总结)

iOS绘图教程:http://www.cocoachina.com/applenews/devnews/2014/0115/7703.html 本篇博文是为了梳理学习过程中得框架,上边链接是cocoachina的教程,更详细一些 iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES 路径用于描述由一序列线和Bézier曲线构成的2D几何形状 Core Graphics中也有一些用于创建简单路径(比如矩形和椭圆形)的便利函数.对于更为复杂的路径,必须用C

iOS 支付宝第三方使用步骤

使用支付宝进行一个完整的支付功能,大致有以下步骤: 1 与支付宝进行签约,获得商户ID(partner)和账号ID(seller) 2 下载相应的公钥私钥文件(加密签名用) 3 下载支付宝SDK 4 生成订单信息 5  调用支付宝客户端,有支付宝客户端跟支付宝安全服务器打交道 6  支付完毕后返回支付结果给客户端和服务器 支付功能的实现 有两种方式: 1  支付宝的应用可以 用url 直接连接到 支付宝的官网 (当然后台是要进行处理的) 2  第二种就是添加支付宝的第三方了 首先 下载支付宝的d

iOS绘图详解

Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的绘图.变换.颜色管理.脱屏渲染,模板.渐变.遮蔽.图像数据管理.图像的创建.遮罩以及PDF文档的创建.显示和分析.为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的 example code. iOS支持两套图形API族:Core Graphics/QuartZ 2D 和OpenGL ES.OpenGL ES是跨平台

单点登录sso核心步骤

单点登录的核心步骤 1  用户未登录时访问子站一,子站一服务器检测到用户没登录(没有本站session,因为没传过来session对应cookie),于是通知浏览器跳转到SSO服务站点,并在跳转的URL参数中带上当前页面地址,以便登录后自动跳转回本页. 2  SSO服务站点检测到用户没有登录,于是显示登录界面. 用户提交登录请求到服务端,服务端验证通过,创建和账号对应的用户登录凭据(token). 然后,服务端通知浏览器把该token作为SSO服务站点的cookie存储起来,并跳转回子站一,跳回