美文网首页
Quartz2D分享

Quartz2D分享

作者: bbLin | 来源:发表于2019-05-21 14:35 被阅读0次

1.Quartz2D基本概念

    Quartz2D 苹果封装的一套绘图的函数库,同时支持iOS和Mac。 UIKit框架,里面有各种各样的UI控件,其实大部分控件的内容都是通过Quartz2D画出来的。

2.Quartz2D能做什么?

绘制图形 : 线条\三角形\矩形\圆\弧等

绘制文字

绘制\生成图片(图像)

读取\生成PDF

截图\裁剪图片

自定义UI控件

涂鸦\画板

手势解锁

...........

iOS中常用的是截屏/裁剪/自定义UI控件

3.Quartz2D在iOS开发中的价值

    为了方便搭建UI界面,iOS提供了UIKit框架,里面有各种各样的UI控件,比如:UILabel、UIImageView、UIButton等等,利用UIKit框架提供的控件,我们可以搭建和现实一些常见的UI界面。但是,有些界面比较复杂,比较个性化,用普通的UI控件可能无法实现,这时我们可以利用Quartz2D将内部结构画出来,自定义控件。其实,iOS大部分控件的内容都是通过Quartz2D画出来的。所以,Quartz2D在iOS开发中很重要的一个价值就是:自定义view,或者说自定义UI控件。

4.图形上下文

图形上下文(Graphics Context):是一个CGContextRef类型的数据

图形上下文的作用:1.保存绘图信息、绘图状态。2.决定绘制的输出目标(绘制到什么地方)

上下文类型: 在同一个绘图序列里指定不同的图形上下文, 可以将所绘图像绘制到不同的目标上

5.Quartz2D的使用

    Quartz2D的API是纯C语言的,来自于Core Graphics框架数据类型和函数基本都以CG作为前缀

CGContextRef//图形上下文

CGPathRef//路径

CGContextStrokePath(ctx);//渲染

    利用Quartz2D绘制东西到view上的步骤

    1.新建一个类,继承自UIView

    2.实现- (void)drawRect:(CGRect)rect方法,然后在这个方法中

    3.取得跟当前view相关联的图形上下文

    4.绘制相应的图形内容

    5.利用图形上下文将绘制的所有内容渲染显示到view上面

    总结 在drawRect 绘图的步骤

    1.获取图形上下文

    2.绘图操作

    3.渲染

6.应用Demo

1.基本图形

2.饼状图

3.柱状图

4.进度图

5.下雨

相关文章

  • Quartz2D学习记录

    Quartz2D 概述及作用 Quartz2D 的 API 是纯 C 语言的,Quartz2D 的 API 来自于...

  • iOS学习笔记08-Quartz2D绘图

    一、Quartz2D简单介绍 在iOS中常用的绘图框架就是Quartz2D,Quartz2D是Core Graph...

  • Quartz2D--贝塞尔路径去画图

    简述: 1、Quartz2D是什么Quartz2D是二维绘图引擎,同时支持IOS和Mac 2、Quartz2D能做...

  • iOS之Quartz2D

    什么是Quartz2D Quartz2D是⼀个二维绘图引擎,同时支持iOS和Mac系统Quartz2D的API是纯...

  • Quartz2D以及drawRect的重绘机制

    一、什么是Quartz2D Quartz2D是⼀个二维绘图引擎,同时支持iOS和Mac系统Quartz2D的API...

  • Quartz2D简单用法

    Quartz2D 知识 Quartz2D是一个二维绘图引擎,同时支持ios和Mac系统 Quartz2D能完成的工...

  • Quartz2D

    Quartz2D Quartz2D概述 Quartz2D可以完成什么:绘制图形:线,三角形,圆,椭圆等等绘制文字(...

  • Quartz2D分享

    1.Quartz2D基本概念 Quartz2D苹果封装的一套绘图的函数库,同时支持iOS和Mac。 UIKit...

  • iOS 画虚线

    通过Quartz2D画虚线

  • iOS开发(高级特性)——Quartz2D

    What is Quartz2D UIView及其子类的应用目前比较熟悉了,下面开始学习一下Quartz2D。我们...

网友评论

      本文标题:Quartz2D分享

      本文链接:https://www.haomeiwen.com/subject/szqjzqtx.html