Quartz2D

1.Quartz2D是一个二维的绘图引擎,同时支持iOS和Mac OS
2.图形上下文(Graphics Context):是CGContextRef类型的数据。作用是:
  • 保存绘图信息、绘图状态
  • 决定绘制的输出目标(绘制到什么地方去) (输出目标可以是PDF文件)
3.过程:
  • 绘制好图形——>保存——>通过图形上下文——>显示——>输出目标
4.在同一个绘图序列里,指定不同的图形上下文,可以将所绘制的图像绘制到不同的目标上。在Quartz2D里,提供了以下几种Graphics Context
  • Bitmap Graphics Context
  • PDF Graphics Context
  • Window Graphics Context
  • Layer Graphics Context
  • Printer Graphics Context
5.如何利用Quartz2D绘制东西到UIView上?
  • 首先,得有图形上下文,因为它能保存图形绘图信息,并且决定绘制到什么地方上
  • 其次,图形上下文必须跟view相关联,才能将内容绘制到UIView上面
6.自定义UI控件的步骤:
  • 新建一个类,继承于UIView
  • 实现-(void)drawRect:(CGRect)rect 方法,然后在这个方法中,可以:
    • 获取跟当前View相关联的图形上下文
    • 绘制相应的图形内容。绘制时产生的线条,称为路径————由一个或者多个直线段或曲线段组成
    • 利用图形上下文绘制的所有内容,渲染显示到view上
    • 利用UIKit封装的绘图函数,直接绘图
7.BezierPath基础
  • UIBezierPath对象,是对CGPathRef数据类型的封装,path如果是基于矢量图(面向对象图像或者是绘图图像,一系列由点连接起来的线)的,都用直线或者曲线去创建。
  • 我们使用直线段去创建矩形和多边形,使用曲线段创建弧、圆或者其他复杂曲线形状
  • 每一段都包括一个或者多个点
  • 每一个直线段或者曲线段结束的地方,是下一个开始的地方
  • 每一个连接的直线段或者曲线段的集合,称为subPath
  • 一个UIBezierPath对象定义一个完整的路径,包括一个或者多个subPath
  • 创建path对象和使用path对象的过程是分开的,创建path是第一步,包含了以下步骤:
    • 创建一个path对象
    • 使用moveToPoint:去设置初始线段的起点
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 4,214评论 0 3
  • Quartz2D 编程指南(一)概览、图形上下文、路径、颜色与颜色空间 Quartz2D 编程指南(二)变换、图案...
    xuyafei86阅读 12,811评论 18 184
  • 什么是Quartz2D 是一个二维的绘图引擎,同时支持iOS和Mac系统 Quartz2D的API是纯C语言的,它...
    Mario_ZJ阅读 3,693评论 0 1
  • Quartz2D 简介 Quartz2D是二维(平面)的绘图引擎(经包装的函数库,方便开发者使用。也就是说苹果帮我...
    iOS_Cqlee阅读 3,767评论 0 2
  • 一、Quartz2D基本概念 1、Quartz2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境 ...
    爱摄影的铲屎官阅读 2,622评论 0 1