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?