Core Graphics框架 利用Quartz 2D绘图
首先,什么是Core Graphics和Quartz 2D?
Core Graphics:是基于Quartz 2D绘图引擎的一个C语言的API绘图框架。它也是iOS开发中最基本的框架(Framework)之一。两点原因,第一是该框架是每一个iOS应用最初被建立时,就被系统默认添加的三个框架(Foundation、UIKit、Core Graphics)之一;另一点是,我们平时常见的各种UIKit框架提供的UI控件,实际上都是由Core Graphics进行绘制的。
Quartz 2D:是一个绘图引擎,它被Core Graphics所封装所包含,它是Core Graphics的一部分。因此我们一般都是用CGxxxx命名的函数进行绘图。
其次,在哪里绘图?
在图形上下文对象中绘图,在Quartz 2D中的绘图上下文可以是位图Bitmap、PDF、窗口Window、层Layer、打印对象Printer。最常见的,我们在UIView和UIView子类上绘图,其实是在系统为我们已经准备好的一个图形上下文CGContextRef对象上绘图。这个CGContextRef对象只能在drawRect函数中获取,而且一定是自动调用的drawRect函数。(假如你自己手动调用该函数,将无法获取图形上下文CGContextRef对象,从而也就无法成功绘图。当然,这样做并不会造成app崩溃crash,或者其他致命错误,但是因为无法绘图,因此这样做是毫无意义的)。
点、线、面的构建
绘图的步骤:(在drawRect函数中)
1.获取绘图上下文
2.创建并设置路径
3.将路径添加到上下文
4.设置上下文状态
5.绘制路径
6.释放路径
(这里借鉴了 http://www.cnblogs.com/kenshincui/p/3959951.html 的表述)
相关文章
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
- asp.net core 读取Appsettings.json 配置文件
- 重新整理 .net core 实践篇—————异常中间件[二十]
- 重新整理asp.net core 实操篇——简介
- ASP.NET Core 6框架揭秘实例演示[35]:利用Session保留语境
- ASP.NET Core 6框架揭秘实例演示[22]:如何承载你的后台服务[补充]
- ASP.NET Core 6框架揭秘实例演示[11]:诊断跟踪的几种基本编程方式
- ASP.NET Core框架揭秘[博文汇总-持续更新]
- [ASP.NET Core 3框架揭秘] Options[6]: 扩展与定制
- ASP.NET Core 3框架揭秘] 配置[8]:多样化的配置源[下篇]
- [ASP.NET Core 3框架揭秘] 配置[7]:多样化的配置源[中篇]
- [ASP.NET Core 3框架揭秘] 配置[1]:读取配置数据[上篇]
- Dora.Interception,为.NET Core度身打造的AOP框架 [4]:与依赖注入框架的无缝集成
- 依赖注入[7]: .NET Core DI框架[服务注册]
- Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本
- ASP.NET Core的路由[2]:路由系统的核心对象——Router
- .NET Core采用的全新配置系统[7]: 将配置保存在数据库中
- ASP.NET Core中的依赖注入(1):控制反转(IoC)
- SAP 电商云 Spartacus UI 回归测试 checkout-flow.core-e2e-spec.ts
- Atitit ..Net Framework sdk 3.0 3.5 4.04.5 4.6 4.7 .net core版本新特性 v2 s22 1. 新特性来源于 down ms 官方网站1
- Linux内核Thermal框架详解五、Thermal Core(4)
- .NET Core 3 WPF MVVM框架 Prism系列之对话框服务
- 用asp.net core结合fastdfs打造分布式文件存储系统
- 【DEBUG】 安装openvino-python后import cv2,ImportError: numpy.core.multiarray failed to import