首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Quartz 2D指南二——Graphics Contexts

2012-09-06 
Quartz 2D指南2——Graphics Contexts??Graphics Contexts代表一个绘图目的地。其包含绘图参数和所有与设备相

Quartz 2D指南2——Graphics Contexts

?

?

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函数。

?

热点排行