IOS开发(106)之Quartz和OpenGL绘图初窥
程序员文章站
2022-05-18 10:15:46
1 前言
在之前我们学过的东西中已经可以构造各式各样的应用界面了,然后有些应用,仅仅使用uikit内置是无法完全实现的。有时候应用程序需要自定义绘图,这个时候我们要依靠两个库来满...
1 前言
在之前我们学过的东西中已经可以构造各式各样的应用界面了,然后有些应用,仅仅使用uikit内置是无法完全实现的。有时候应用程序需要自定义绘图,这个时候我们要依靠两个库来满足我们的绘图需求。一个库是quartz 2d,他是core graphics框架的一部分;另一个库是opengl es,他是跨平台的图形库。opengl es是 opengl的简化版本。是它的一个子集。
2 详述
quartz 2d是一组函数,数据类型及对象,专门用于直接在内存中对视图或图像进行绘制。quartz 2d将正在绘制的视图或者图像视为一个虚拟的画布,并遵循所谓的绘画者模型。,每个绘图操作都将应用于画布,并且处于之前所有绘图操作之上。
opengl es以状态机的形式实现。其不允许执行直接影响视图,窗口或者图像的操作,它维护一个虚拟的三维世界。当向这个世界中添加对象时候,opengl es会跟踪所有对象的状态。opengl es提供了一个进入其世界的虚拟窗口。可以向该世界中添加对象并定义虚拟窗口相对于该世界的位置。然后,根据配置方式以及跟中对象彼此的相对的位置绘制视图,并通过窗口呈现给用户。
quartz 2d仅限于二维绘图。
opengl es提供了二维和三维绘图工具。
3 结语
以上就是两个绘图框架的大体介绍,下一节,我们将进入神奇的绘图世界,are u ready?
上一篇: WPF 勾选划线
下一篇: php日历[测试通过]