Quartz2D

作用:
1.裁剪图片
2.涂鸦/画板
3.手势解锁
4.报表:折线图/饼状图/柱状图

  • 为了便于搭建美观的UI界面,iOS 提供了UIKit 框架,里面有各种各样的控件
  • 利用UIKit框架提供的控件,拼拼凑凑,能搭建和实现一些简单、常见的UI界面
  • 但是,有些UI界面及其复杂、而且比较个性化,用普通的UI控件无法实现,这时可以利用Quartz2D技术将控件内部的结构画出来,自定义控件的样子
  • 其实,iOS中大部分控件的内容都是通过Quartz2D绘制出来的
  • 因此,Quartz2DiOS开发中很重要的价值是:自定义View(自定义UI控件)

图形上下文:画画的时候有画板,图形上下文就是画板。

  • 图形上下文(Graphics Context):是一个CGContextRef类型的数据
  • 图形上下文的作用
    1.保存绘图信息,绘图状态(画线粗细,颜色)
    2.决定绘制的输出目标(绘制到什么地方去?白纸?墙面?)类型不一样,输出目标不一样
    3.相同的一套绘图序列,指定不同的Graphics Context,就可以想相同的图像绘制到不同的目标

图形上下文 类型:

1.Bitmap Graphics Contenx 图片(位图上线文必须手动去开启,开启多大的上下文,生成的图片就有多大)2. PDF Graphics Contenx3. Window Graphics Contenx4.Layer Graphics Contenx

如何利用Quartz2D绘制东西到View上?

  • 首先,得有图形上下文,因为它能保存绘图信息,并且决定着绘制到什么地方去
  • 其次,那个图形上下文必须跟View相关联,才能将内容绘制到View上面

自定义View的步骤

1.新建一个类,继承自UIView
2.实现- (void)drawRect:(CGRect)rect方法,(这个方法会自动生成一个图像上下文)然后在这个方法中取得跟当前View相关联的图形上下文本
3.绘制相应的图像内容
4.利用图像上线将绘制的所有内容渲染显示到View上面

你可能感兴趣的:(Quartz2D)