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函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值