Graphics Contexts代表一个绘图目的地。其包含绘图参数和所有与设备相关的信息,这些在绘制系统执行绘制命令的时候是需要的。Graphics Contexts定义了基本的绘制属性,如绘制的颜色,clipping 区域,线的宽度,样式信息,字体信息,compositing options,以及其他的。
我们可以使用Quartz context创建函数或者IOS的UIKit框架去得到一个Graphics Context。Quartz提供了几种风格的Quartz Graphics Contexts,包括bitmap和PDF。
下面本文主要讲述如何为各种各样的绘制目标创建Graphics Contexts。Graphics Context在代码的中的数据类型为CGContextRef,是一个不透明的data type。当得到一个Graphics Context之后,可以使用Quratz 2D函数去绘制context,在context上进行一些操作(如translations),改变graphics 的状态参数,如line的宽度和fill color。
1.IOS中在一个view Graphics Context上绘制。
为了在一个ios应用上面绘制,应该先建立一个UIView对象,然后实现其drawRect:方法去进行绘制。当view变的可见的时候或者其内容需要更新的时候,view的drawRect:方法会被调用。在调用自定义的drawRect:方法之前,view对象会自动的配置其绘制环境,然后代码可以立即的绘制。作为配置的一部分,UIView对象先为当前的绘制环境创建一个Graphics Context。我们可以在drawRect:方法中通过调用UIKit的UIGraphicsGetCurrentContext.函数去得到此Graphics Context。
UIKit使用的缺省坐标系统与Quartz的坐标系统不相同。在UIKit中,原点在左上角。UIView对象通过translating 原点并且通过在y轴乘以-1来改变Quartz Graphics Context使其与UIKit相匹配。
2.创建一个bitmap Graphics Context
一个bitmap Graphics Context接受一个指针,指向内存缓冲区,其包含一个bitmap的存储空间。当我们在bitmap Graphics Context上paint时,此缓冲区会被更新。当我们释放了Graphics Context,我们将有一个在指定像素格式下的完全更新bitmap。
在IOS中使用UIGraphicsBeginImageContextWithOptions函数。
分享到:
相关推荐
ios Quartz 2D编程指南 2d图形处理
Quartz 2D编程的前几节,也是在网上收集的
Quartz 2D编程指南(1)
iPhone, iPad, 苹果下创建, 编辑 pdf 文件
Quartz 2D is an advanced, two-dimensional drawing engine available for iOS ...The Quartz 2D API is part of the Core Graphics framework, so you may see Quartz referred to as Core Graphics or, simply, CG.
[Mac.OS.X开发系列电子书].Quartz.2D.Graphics.For.Mac.OS.X.Developers.pdf )
苹果的处理图片方式的开发文档,以及图片格式转换等必要手段,文档出自官方文档的翻译。
http://img.verycd.com/posts/0712/post-320613-1198518185.gif<br><br>书名:Quartz 2D Graphics for Mac OS X® Developers 作者:R. Scott Thompson 出版社:Addison Wesley Professional 出版...
To Mac developers, who will bring Quartz alive in innovative ways.
quartz的项目源码——用于和文章配套学习
Programming with Quartz 2D and PDF Graphics in Mac OS X 一本详细介绍如何在MAC系统和IOS系统 绘制2D图形和生成PDF的电子资料,非常有用,值得收藏。
这是一些关于Quartz2D使用的代码,不求全面,只求实用。
Quartz2D图形刷新和定时器的操作练习
正如前面提到的,Quartz 2D只提供了绘制矩形、椭圆的函数,并没有直接提供绘制圆角矩形、三角形等几何图形的函数。为了绘制更复杂的图形,必须启用路径。
通过4个案例认识quartz2D的图形处理 典型应用:生成圆形头像
Quartz 2D编程指南(英文完整版+中文部分翻译版),苹果官方编程指南,详细介绍了如何在iOS和MAC OS上绘图开发部分的知识。
这是我在学习ios的过程中写的一个demo,使用Quartz 2D实现动画功能