CoreGraphics和OpenGLES

weixin_34393428發表於2018-09-28

前言:什麼是顯示卡?

顯示卡作為電腦主機裡的一個重要組成部分,是電腦進行數模訊號轉換的裝置,承擔輸出顯示圖形的任務。它將電腦的數字訊號轉換成模擬讓顯示器顯示出來,同時顯示卡還是有影象處理能力

畫素繪製到螢幕參見畫素到螢幕繪製原理

iOS支援兩套圖形API族:Core Graphics/QuartZ 2D 和OpenGL ES。OpenGL ES是跨平臺的圖形API,屬於OpenGL的一個簡化版本。QuartZ 2D是蘋果公司開發的一套API,它是Core Graphics Framework的一部分,是一套基於C的API框架,使用了Quartz作為繪圖引擎。它提供了低階別、輕量級、高保真度的2D渲染。該框架可以用於基於路徑的繪圖、變換、顏色管理、脫屏渲染,模板、漸變、遮蔽、影象資料管理、影象的建立、遮罩以及PDF文件的建立、顯示和分析。

OpenGL ES是應用程式程式設計介面,該介面描述了方法、結構、函式應具有的行為以及應該如何被使用的語義。也就是說它只定義了一套規範,具體的實現由裝置製造商根據規範去做。因為製造商可以自由的實現Open GL ES,所以不同系統實現的OpenGL ES也存在著巨大的效能差異。

Core Graphics API所有的操作都在一個上下文中進行。所以在繪圖之前需要獲取該上下文並傳入執行渲染的函式中。如果你正在渲染一副在記憶體中的圖片,此時就需要傳入圖片所屬的上下文。獲得一個圖形上下文是我們完成繪圖任務的第一步,你可以將圖形上下文理解為一塊畫布。如果你沒有得到這塊畫布,那麼你就無法完成任何繪圖操作。

3571697-02b09b3755751c27.png
層次關係圖

CoreGraphics:

相關文章