介绍quartz 2d绘图画板.pptxVIP

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Quartz2D绘图讲师:刘凡技术博客:新浪微博:

Quartz2DQuartz2D是一个二维图形绘制引擎,支持iOS环境和MacOSX环境Quartz2DAPI可以实现许多功能,如基于路径的绘图、透明度、阴影、颜色管理、反锯齿、PDF文档生成和PDF元数据访问等Quartz2DAPI是CoreGraphics框架的一部分,因此其中的很多数据类型和方法都是以CG开头的。会经常见到Quartz2D(Quartz)和CoreGraphics两个术语交互使用Quartz2D与分辨率和设备无关,因此在使用Quartz2D绘图时,无需考虑最终绘图的目标设备

CoreGraphicsCoreGraphic框架是一组基于C的API,可以用于一切绘图操作,这个框架的重要性,仅次于UIKit和Foundation当使用UIKit创建按钮、标签或者其他UIView的子类时,UIKit会用CoreGraphics将这些元素绘制在屏幕上。此外,UIEvent(UIKit中的事件处理类)也会使用CoreGraphics,用来帮助确定触摸事件在屏幕上所处的位置因为UIKit依赖于CoreGraphics,所以当引入UIKit/Uikit.h时,CoreGraphics框架会被自动引入,即UIKit内部已经引入了CoreGraphics框架的主头文件:CoreGraphics/CoreGraphics.h为了让开发者不必触及底层的CoreGraphics的C接口,UIKit内部封装了CoreGraphics的一些API,可以快速生成通用的界面元素。但是,有时候直接利用CoreGraphics的C接口是很有必要和很有好处的,比如创建一个自定义的界面元素

Quartz2D的几个重要概念在哪里绘图?图形上下文(GraphicsContext)如何绘图?Quartz2D坐标系绘图顺序UIView的drawRect:方法Quartz2D的内存管理

图形上下文(GraphicsContext)——绘制目标GraphicsContext是一个数据类型(CGContextRef),封装了Quartz绘制图像到输出设备的信息。输出设备可以是PDF文件、Bitmap或者显示器的窗口上Quartz中所有的对象都是绘制到一个GraphicsContext中当用Quartz绘图时,所有设备相关的特性都包含在GraphicsContext中。换句话说,我们可以简单地给Quartz绘图序列指定不同的GraphicsContext,就可将相同的图像绘制到不同的设备上。而不需要任何设备相关的计算,这些都由Quartz替我们完成

图形上下文(GraphicsContext)——绘制目标Quartz提供了以下几种类型的GraphicsContext:BitmapGraphicsContextPDFGraphicsContextWindowGraphicsContextLayerGraphicsContextPrinterGraphicsContext

图形上下文(GraphicsContext)——绘制目标一个GraphicsContext表示一个绘制目标。它包含绘制系统用于完成绘制指令的绘制参数和设备相关信息GraphicsContext定义了基本的绘制属性,如颜色、裁减区域、线条宽度和样式信息、字体信息、混合模式等在iOS应用程序中,如果要在屏幕上进行绘制,需要创建一个UIView对象,并实现它的drawRect:方法。视图的drawRect:方法在视图显示在屏幕上及它的内容需要更新时被调用在调用自定义的drawRect:后,视图对象自动配置绘图环境以便能立即执行绘图操作作为配置的一部分,视图对象将为当前的绘图环境创建一个GraphicsContext。通过调用UIGraphicsGetCurrentContext()方法可以获取当前的GraphicsContext

Quartz2D坐标系Quartz中默认的坐标系统是:原点(0,0)在左下角。沿着X轴从左到右坐标值逐渐增大;沿着Y轴从下到上坐标值逐渐增大有一些技术在设置它们的graphicscontext时使用了不同于Quartz的默认坐标系统。最常见的一种修改的坐标系统是原点位于左上角,而沿着Y轴从上到下坐标值逐渐增大。例如:UIView中的UIGraphicsGetCurrentContext方法返回的图形上下文就是用的是这种坐标系

UIKit的坐标系原点(0,0)在屏幕的左上角,X轴向右正向延伸,Y轴向下正向延伸iOS的像素分辨率会随设备的硬件而变化,iPhone4第一次引入了视网膜屏幕,像素分辨率为960*640,刚好

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档