iOS学习笔记-051.Quartz2D简介

来源:互联网 发布:联通冰激凌套餐 知乎 编辑:程序博客网 时间:2024/06/05 11:06

  • Quartz2D简介
    • 一什么是Quartz2D
    • 二Quartz2D在iOS开发中的价值
    • 三Quartz2D实例
    • 四Quartz2D须知
    • 五Quartz2D绘图的代码步骤

Quartz2D简介

一、什么是Quartz2D

Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统

Quartz 2D能完成的工作

绘制图形 : 线条\三角形\矩形\圆\弧等
绘制文字
绘制\生成图片(图像)
读取\生成PDF
截图\裁剪图片
自定义UI控件
… …

二、Quartz2D在iOS开发中的价值

为了便于搭建美观的UI界面,iOS提供了UIKit框架,里面有各种各样的UI控件

UILabel:显示文字
UIImageView:显示图片
UIButton:同时显示图片和文字(能点击)
… …

利用UIKit框架提供的控件,拼拼凑凑,能搭建和现实一些简单、常见的UI界面

但是,有些UI界面极其复杂、而且比较个性化,用普通的UI控件无法实现,这时可以利用Quartz2D技术将控件内部的结构画出来,自定义控件的样子

其实,iOS中大部分控件的内容都是通过Quartz2D画出来的
因此,Quartz2D在iOS开发中很重要的一个价值是:自定义view(自定义UI控件)

三、Quartz2D实例

这里写图片描述

这里写图片描述

这里写图片描述

四、Quartz2D须知

Quartz2D的API是纯C语言的

Quartz2D的API来自于Core Graphics框架

数据类型和函数基本都以CG作为前缀

CGContextRef
CGPathRef
CGContextStrokePath(ctx);
……

五、Quartz2D绘图的代码步骤

1.获得图形上下文CGContextRef ctx = UIGraphicsGetCurrentContext();2.拼接路径(下面代码是搞一条线段)CGContextMoveToPoint(ctx, 10, 10);CGContextAddLineToPoint(ctx, 100, 100);3.绘制路径CGContextStrokePath(ctx); // CGContextFillPath(ctx);
0 0
原创粉丝点击