下载此文档

iOS 开发 Quartz 2D UIBezierPath绘图大全详解.doc


文档分类:IT计算机 | 页数:约47页 举报非法文档有奖
1/47
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/47 下载此文档
文档列表 文档介绍
iOS 开发 Quartz 2D+ UIBezierPath绘图大全详解
Quartz 2D 使用大全结构图
UIKIt UIBezierPath Core Graphics OpenGL ES Quartz2D的区别和联系
UIKIt:UIKit中的控件都是基于Core Graphics实现的
UIBezierPath:UIBezierPath属于UIKit,它是苹果对复杂的Core Graphics进行的封装,方便我们用OC语言进行简单的绘图
Core Graphics:是一套基于C语言的API,支持向量图形,线、形状、图案、路径、剃度、位图图像和pdf 内容的绘制。
OpenGL ES:OpenGL是由SGI公司开发的一套3D图形软件接口标准,它只是一个标准,具体实现由机械制造商来完成,所以不同的机器他的效果可能是完全不一样的。OpenGL-ES版本,主要是应对嵌入式环境和应用的要求,应该说在高效完成2D/3D界面的同时,达到了降低功耗的效果。
Quartz2D:quartz是一个通用的术语,用于描述在IOS整个媒体层用到的多种技术包括图形、动画、音频、适配。Quart 2D 是一组二位绘图和渲染API,Core Graphic会使用到这组API
Core Graphics框架
绘图我们要用到Core Graphics框架,Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。
Core Graphics API所有的操作都在一个上下文中进行。所以在绘图之前需要获取该上下文并传入执行渲染的函数中。介绍两种最为常用的获取方法。
第一种方法就是创建一个图片类型的上下文。调用UIGraphicsBeginImageContextWithOptions函数就可获得用来处理图片的图形上下文。利用该上下文,你就可以在其上进行绘图,并生成图片。调用UIGraphicsGetImageFromCurrentImageContext函数可从当前上下文中获取一个UIImage对象。记住在你所有的绘图操作后别忘了调用UIGraphicsEndImageContext函数关闭图形上下文。
第二种方法是利用cocoa为你生成的图形上下文。当你子类化了一个UIView并实现了自己的drawRect:方法后,一旦drawRect:方法被调用,Cocoa就会为你创建一个图形上下文,此时你对图形上下文的所有绘图操作都会显示在UIView上。
什么是Quartz2D绘图引擎
Quartz 2D是⼀个二维绘图引擎,iOS中⼤部分控件的内容都是通过Quartz 2D画出来的。
Quartz 2D是纯C语言的
Quartz 2D的API来自于CoreGraphics框架
数据类型和函数基本都是CG作为前缀 
CGContextRef
CGPathRef
CGContextStrokePath(ctx)
Quartz 2D能完成的工作
绘制图形: 线条\三角形\矩形\圆\弧形
绘制文字
绘制\生成图片(图像)
读取\生成PDF
截图\裁剪图片
自定义UI控件
Quartz2D绘图有以下两种方式
注意: UIBezierPath 对象可以独立使用, 无需手动获取“图形上下文”对象,此处为了更好的理解“图形上下文对象”所以暂时还是采用手动获取“图形上下文”对象的方式来绘图。
drawRect:方法的使用
View内部有个layer(图层)属性,drawRect:方法中取得的是一个Layer Graphics Context,因此,绘制的东西其实是绘制到view的layer上去了
iOS的绘图操作是在UIView类的drawRect方法中完成的,重写drawRect方法,在这里进行绘图操作,程序会自动调用此方法进行绘图。
重绘操作仍然在drawRect方法中完成,苹果要求我们调用UIView类中的setNeedsDisplay方法,则程序会自动调用drawRect方法进行重绘。(调用setNeedsDisplay会自动调用drawRect)。
在UIView中,重写drawRect: (CGRect) aRect方法,. 当某些情况下想要手动重画这个View,只需要掉用[self setNeedsDisplay]方法即可.
rect指的就是当前view的bounds,即当前视图的所有范围。
drawRec

iOS 开发 Quartz 2D UIBezierPath绘图大全详解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数47
  • 收藏数0 收藏
  • 顶次数0
  • 上传人分享精品
  • 文件大小3.49 MB
  • 时间2017-08-05