計(jì)算機(jī)的繪圖過程可以簡單用流水線來說明,而產(chǎn)品(數(shù)據(jù))就是經(jīng)過流水線作業(yè)(渲染)到屏幕的圖像。這條流水線可以簡化為(本文的概念):繪圖位置座標(biāo)指定;著色指定;輸出指定;圖1簡單解釋了這一個(gè)流水線過程。計(jì)算機(jī)繪圖需要一個(gè)輸入繪圖數(shù)據(jù),這個(gè)數(shù)據(jù)可以是用戶指定的,也可以是操作系統(tǒng)決定的,也可以是混合的。這些數(shù)據(jù)是分組的。
座標(biāo)生成:當(dāng)繪圖數(shù)據(jù)送入座標(biāo)生成系統(tǒng)后,流水線就會(huì)對(duì)其進(jìn)行座標(biāo)分派,圖1右上的線框圖抽象描述了這個(gè)過程。
著色指定:當(dāng)座標(biāo)系統(tǒng)生成出帶座標(biāo)的繪圖數(shù)據(jù)后就需要送入著色器,著色器指定了這些線框的填充顏色或紋理。
渲染:著色器將繪圖數(shù)據(jù)加上著色數(shù)據(jù)后就被送入渲染器,渲染器根據(jù)繪圖數(shù)據(jù)描述,將像素填充到描述的線框組里并送入幀緩存,然后然后送入顯示器,顯示器獲取到幀緩存的數(shù)據(jù)后再根據(jù)數(shù)據(jù)的描述來繪圖到屏幕上。
像素與點(diǎn)(point),點(diǎn)(dot)這三個(gè)單位很容易令人混淆,原因在于它們在很多場合上是可以互換的。但是本文需要區(qū)分這兩者的概念。
像素指的是一種數(shù)據(jù)結(jié)構(gòu),這個(gè)數(shù)據(jù)結(jié)構(gòu)包含了RGB三個(gè)數(shù)據(jù),分別對(duì)應(yīng)的是紅色,綠色,藍(lán)色。我們說一張計(jì)算機(jī)生成的位圖時(shí),我們會(huì)說這圖是多少像素x多少像素,例如800x600像素。值得注意的是,像素沒有一個(gè)固定的尺寸單位,它只是一個(gè)抽象概念。
點(diǎn)(dot)指的是顯示器屏幕的點(diǎn)或打印的點(diǎn),是具體指代的事物。我們想說的DPI即dot per inch,每英寸多少個(gè)點(diǎn)。一般來說1個(gè)點(diǎn)對(duì)應(yīng)一個(gè)像素,常見的打印尺寸是72DPI,即每英寸72點(diǎn),也就是包含72個(gè)像素的數(shù)據(jù)。當(dāng)像素被計(jì)算機(jī)輸出成點(diǎn)投射都屏幕或紙面上時(shí),它才具備了尺寸的概念,即點(diǎn)(dot)。
點(diǎn)(point)指的是座標(biāo)點(diǎn),是一個(gè)數(shù)據(jù)結(jié)構(gòu),包含了兩個(gè)數(shù)據(jù)(或三個(gè))X和Y(和Z)座標(biāo)。繪圖數(shù)據(jù)里是包含了這個(gè)座標(biāo)數(shù)據(jù)的。對(duì)于沒有使用HiDPI的操作系統(tǒng)來說,一個(gè)座標(biāo)點(diǎn)對(duì)應(yīng)一個(gè)像素。
一般來說,點(diǎn)(dot)與像素是可以互換指代的,而且我們在Retina的概念被提出前一直這樣使用它們。但是,現(xiàn)在這兩個(gè)概念必須要區(qū)分出來。像素只是一個(gè)描述RGB的數(shù)據(jù)結(jié)構(gòu),它沒有任何尺寸單位,它更不是一個(gè)矩形。當(dāng)像素被輸出到屏幕或紙張上時(shí),我們應(yīng)該用點(diǎn)來指代這種含有顏色,有尺寸的具體事物。
普通的顯示屏幕或打印機(jī),我們會(huì)說屏幕上的一個(gè)點(diǎn)(dot)是由一個(gè)像素(RGB數(shù)據(jù))組成的,打印后的點(diǎn)是由一個(gè)像素經(jīng)過色彩轉(zhuǎn)換(CMYK數(shù)據(jù))組成的。
對(duì)于打印機(jī)來說,一般的DPI是72。也就是指我們在顯示器屏幕上看到720x720像素的位圖,在打印出來后的面積是10x10英寸,但是屏幕上的位圖面積并不會(huì)跟打印出來的面積一致。因?yàn)槠聊簧系囊粋€(gè)點(diǎn)與打印的點(diǎn)的尺寸不一樣。
PPI指的是每英寸多少像素,與DPI有一定概念上的區(qū)別。PPI一般指的是屏幕的點(diǎn)密度,DPI指的是打印點(diǎn)的密度。PPI不是固定的,不同屏幕尺寸結(jié)合不同的分辨率會(huì)有不同的PPI,但是DPI則是相對(duì)固定在72。
HiDPI是蘋果的一項(xiàng)繪圖技術(shù),結(jié)合這種技術(shù),計(jì)算機(jī)座標(biāo)系統(tǒng)上的一個(gè)點(diǎn)(point)不再對(duì)應(yīng)一個(gè)像素,一般來說會(huì)是一個(gè)座標(biāo)點(diǎn)對(duì)應(yīng)四個(gè)像素,而一個(gè)像素對(duì)應(yīng)屏幕的一個(gè)物理點(diǎn)(dot)。
由于像素是一組色彩數(shù)據(jù),所以繪圖數(shù)據(jù)在經(jīng)過著色器后才包含了它。舉個(gè)例子,繪圖數(shù)據(jù)在送入著色器前是描述一個(gè)100x100的矩形,經(jīng)過著色器指定色彩屬性后會(huì)被送入一個(gè)HiDPI系統(tǒng),這個(gè)系統(tǒng)將200x200個(gè)像素的數(shù)據(jù)添加到繪圖數(shù)據(jù)里。在經(jīng)過渲染器后,相當(dāng)于將200x200個(gè)像素填充進(jìn)100x100這個(gè)矩形線框。
幀緩存是儲(chǔ)存計(jì)算機(jī)渲染后的圖形數(shù)據(jù)的,這些數(shù)據(jù)包括座標(biāo),像素,分辨率等等。。簡單來說就是描述圖象的數(shù)據(jù),當(dāng)這些描述數(shù)據(jù)送入顯示器后,顯示器就知道怎么繪圖了。
一般來說的屏幕分辨率指的是渲染器生產(chǎn)出來的像素?cái)?shù)據(jù)排列,例如1280x800像素。值得注意的是這個(gè)屏幕分辨率與顯示器屏幕的物理點(diǎn)排列沒關(guān)系的。屏幕分辨率是可設(shè)置的,顯示器的物理點(diǎn)排列是固定的。例如幀緩存里的分辨率是1280x800像素,但是顯示器屏幕是1920x1200點(diǎn)排列的,那么顯示器會(huì)怎么將幀緩存里的數(shù)據(jù)呈現(xiàn)到屏幕上呢?答案是通過自適應(yīng)放縮,是經(jīng)過顯示器內(nèi)部芯片來轉(zhuǎn)換的。
13寸的RMBP在分辨率設(shè)置里是這樣描述的,看起來像1280x800像素,看起來像1440x900像素。我們需要這樣理解,1280x800像素是相對(duì)于舊款不帶Retina的機(jī)器,也就是繪圖數(shù)據(jù)送入著色器前的座標(biāo)系統(tǒng)與渲染后的座標(biāo)是1:1對(duì)應(yīng)的參考值。實(shí)際上在經(jīng)過渲染后,它的實(shí)際像素是2560x1600,也就是幀緩存里是數(shù)據(jù)是2560x1600像素。同樣地看起來1440x900像素實(shí)際渲染后的像素是2880x1800。由于13寸的屏幕實(shí)際點(diǎn)排列是2560x1600,所以幀緩存2880x1800像素在輸出到屏幕后會(huì)被自適應(yīng)縮放掉。
操作系統(tǒng)標(biāo)準(zhǔn)的桌面打印DPI是72,但是隨著HiDPI技術(shù)和高PPI屏幕出現(xiàn)后,這個(gè)標(biāo)準(zhǔn)也許會(huì)有一定的變化。我們在Retina的OS X下用Photoshop新建一個(gè)文件時(shí)默認(rèn)的DPI指定在144上了,這是標(biāo)準(zhǔn)轉(zhuǎn)變的一個(gè)信號(hào)。
在沒有使用類似HiDPI技術(shù)的操作系統(tǒng)上,屏幕分辨率對(duì)應(yīng)的打印DPI是72。使用HiDPI的Retina機(jī)器的打印DPI是144,用以保證在統(tǒng)一尺下具有更多的點(diǎn)密度。這點(diǎn)對(duì)于印前工作非常重要。
聯(lián)系客服