Quartz2D - 01.概述

1.概述

  • Quartz2D是一个二维绘图引擎,同时支持IOS和Mac系统
  • Quartz2D功能概述:
    • 绘制图形:线条、三角形、矩形、圆、弧等
    • 绘制文字
    • 绘制/生成图片(图像)
    • 读取/生成PDF
    • 截图/裁剪图片
    • 自定义UI控件
  • Quartz2D的API是纯C语言的,来自Core Graphics框架
  • 数据类型和函数基本都是以CG作为前缀的

2.为什么要使用Quartz2D

  • IOS提供了UIKit框架,里面有各种各样的UI控件,便于开发者方便的搭建美观的UI界面
  • 利用UIKit提供的控件,能够搭建和实现一些简单的、常见的UI界面
  • 但是,有些时候我们需要搭建的UI界面极其复杂、而且需要一些个性化的功能,而系统提供的UI控件无法满足我们的需求,这时可以利用Quartz2D技术将内部的结构画出来,自定义我们需要的控件

3.图形上下文(Graphics Context)

  • 要想利用Quartz2D绘图,必须知道对象的图形上下文
  • 图形上下文是CGContextRef类型的数据,作用:

    • 保存绘图信息、绘图状态等
    • 决定绘制的输出目标(绘制到什么地方上去)
    • 相同的一套绘图序列,指定不同的图形上下文,就可以将相同的图像绘制到不同的目标上
  • 图形上下文类型

    • Bitmap图形上下文
    • PDF图形上下文
    • Window图形上下文
    • Layer图形上下文
    • Printer图形上下文

4.利用Quartz2D自定义View(自定义UI控件)

  • 新建一个类,继承自UIView
  • 实现-(void)drawRect:(CGRect)rect方法,然后在在此方法中
    • 取得跟当前View相关联的上下文
    • 绘制相应的图形内容
    • 利用图形上下文将绘制的内容渲染显示到View上面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值