黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Quartz 2D 概覽(參考蘋果官網(wǎng))

系統(tǒng) 2479 0

介紹一下Quartz 2D,主要資料來源于蘋果官網(wǎng);不足之處有請 大家拍磚。

Quartz 2D是iPhone OS和Mac OS X環(huán)境下的二維繪圖引擎。借用Quartz 2D API,你可以接觸到這樣一些特性:基于路徑的繪圖,透明度繪圖,遮蓋,陰影,透明層,顏色管理,防鋸齒渲染,生成PDF,以及PDF元數(shù)據(jù)相關(guān)處理。可能的時候,Quartz 2D會借助硬件的力量。

在Mac OS X下,Quartz 2D能與其它圖形圖像技術(shù)相結(jié)合——Core Image,Core Video,OpenGL,以及Quick Time。

類似的,在iPhone OS下的Quartz 2D也能與其它的圖像和動畫技術(shù)相結(jié)合——Core Animation,OpenGL ES,以及UIKit類。


1. 頁面(Page)

Quartz 2D使用畫筆模型——每一個繪圖操作在一塊輸出畫布上進(jìn)行一層繪制(paint),這個畫布就叫做頁面。繪制在頁面上的東西無法改動,除非修改該頁面。

下圖顯示了“后來者居上”的遮蓋順序。頁面可以是一張真正的紙(如果輸出設(shè)備是打印機(jī));可以是一張?zhí)摂M的紙(如果輸出設(shè)備是pdf);甚至可以是一幅位圖。


2. 繪制目標(biāo):圖形內(nèi)容(Graphics Context)


圖形內(nèi)容是一個復(fù)雜的數(shù)據(jù)類型(CGContextRef),用于封裝Quartz用于繪圖的信息。這些信息包括了繪圖參數(shù)以及頁面上的繪圖的代表。


同一幅畫可以繪制到不同的設(shè)備上,而只需要改變圖形內(nèi)容的,無需改變Quartz繪制順序。你不需要自行針對設(shè)備進(jìn)行計算——Quartz會替你完成這一切。

?




3. Quartz 2D的模糊數(shù)據(jù)類型(Opaque Data Type)

在圖形內(nèi)容之外,Quartz 2D還定義了一系列模糊數(shù)據(jù)類型,均以CG為前綴。其中三種數(shù)據(jù)類型如下圖所示。

?




4. 圖形狀態(tài)(Graphics States)

Quartz 2D根據(jù)當(dāng)前的圖形狀態(tài)來修改繪圖結(jié)果。例如,當(dāng)你調(diào)用函數(shù)來填充顏色時,你同時也就修改了儲存在圖形狀態(tài)中的數(shù)值。其它常用的圖形狀態(tài)顏色包括線寬,當(dāng)前位置,以及字體大小。


圖形內(nèi)容包含了一個堆棧,儲存了圖形狀態(tài)。初建圖形內(nèi)容時,此堆棧為空。圖形狀態(tài)可以通過函數(shù) CGContextSaveGState 和 CGContextRestoreGState 來保存和恢復(fù)。


5.Quartz 2D坐標(biāo)

Quartz 2D的坐標(biāo)體系如下圖所示,原點在左下方。



考慮到不同的設(shè)備有著不同的圖像能力,因此圖形的位置和大小必需獨(dú)立于設(shè)備來定義——這由當(dāng)前變換矩陣(CTM)來完成。


6. 內(nèi)存管理

幾個簡單實用的準(zhǔn)則:

6.1 如果你創(chuàng)建或復(fù)制一個對象,該對象的retain值會加一;因此你也必需釋放它。具體反映在帶有Create或Copy的函數(shù)名當(dāng)中。

6.2 反之,如果函數(shù)名中沒有Create或Copy,你就不需要釋放。

6.3 如果你不擁有一個對象但需要使用它,你可以retain之后再釋放

Quartz 2D 概覽(參考蘋果官網(wǎng))


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論