資源描述:
《邏輯調(diào)色板和系統(tǒng)調(diào)色板.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、邏輯調(diào)色板和系統(tǒng)調(diào)色板先來用通俗的語句講解位圖和調(diào)色板的概念。我們知道,自然界中的所有顏色都可以由紅、綠、藍(lán)(R,G,B)三基色組合而成。針對含有紅、綠、藍(lán)色成分的多少,可以對其分別分成0~255個等級,而紅、綠、藍(lán)的不同組合共有256×256×256種,因此約能表示1600萬種顏色(16m色)。對于人眼而言,這已經(jīng)是"真彩色"了。這就是24位圖或其以上的位圖比如32,,34之類的,,,這種位圖的圖像數(shù)據(jù)中的每個像素都用了三個字節(jié)來描述記錄它.什么是圖像數(shù)據(jù)?接下來會談到一個位圖文件結(jié)構(gòu),它包括文件頭(用來說明文件),文件信息頭(位圖屬性),,圖像
2、數(shù)據(jù)(位圖主體數(shù)據(jù)所在)對每個像素進(jìn)行了(R,G,B)量化的圖像就是位圖,其在計算機(jī)中對應(yīng)文件的擴(kuò)展名一般為.bmp。既然用R,G,B的量化值就可以直接記錄一張位圖的所有像素,那我們需要調(diào)色板干什么呢?首先,我們可以計算完全利用(R,G,B)組合來存儲一個800×600的位圖所需要的空間為:800×600×3=1440000(字節(jié))=1.37M(字節(jié))3是記錄每個像素RGB值所用的字節(jié)數(shù),這里說的是24位圖,RGB值就用來描述一個像素,,位圖是由像素組成的,,因此用一張位圖大小乘它的像素數(shù)就可以直接描述一張位圖驚人的大!因此,調(diào)色板橫空出世了,它的
3、功能在于緩解位圖文件存儲空間(顯存或系統(tǒng)內(nèi)存)過大的問題。在winos中存在三種調(diào)色板,,硬件調(diào)色板,邏輯調(diào)色板,系統(tǒng)調(diào)色板,,winos用"調(diào)色板管理器"機(jī)制來管理調(diào)色板,,調(diào)色板存在于一個位圖文件中,一個窗體的DC中,,或OS中,,硬件調(diào)色板就是顯卡適配器所能實際表達(dá)的顏色深度,,邏輯調(diào)色板就是winos通過調(diào)色板管理機(jī)制為每個窗體應(yīng)用程序DC分配的調(diào)色板(系統(tǒng)調(diào)色板只有一個,而邏輯調(diào)色板可以有多個,,它的本質(zhì)就是一塊內(nèi)存中的區(qū)域用于描述當(dāng)前應(yīng)用使用到的調(diào)色板,我們都知道調(diào)色板是一個結(jié)構(gòu)),,所以邏輯調(diào)色板的用途在于模擬硬件調(diào)色板,,以使win
4、dows作為一個os可以為界面顯示,圖像顯示等應(yīng)用提供它們各自專用的活動的調(diào)色板,,當(dāng)邏輯調(diào)色板色深小于或大小硬件調(diào)色板時,,winos通過調(diào)色板管理機(jī)制自動讓二者諧和,,系統(tǒng)調(diào)色板就是winos當(dāng)前正在使用到的調(diào)色板,邏輯調(diào)色板可以通過調(diào)色板管理機(jī)制轉(zhuǎn)變?yōu)楫?dāng)前系統(tǒng)調(diào)色板,,,但是不管winos的調(diào)色板管理機(jī)制如何,,最終的調(diào)色板都要靠硬件調(diào)色板來實現(xiàn)假設(shè)一個位圖為16色,16色就是上面談到的可以表示多少種顏色,計算一下,2的4次方=16,因此它是4位圖,我們只需要在圖像數(shù)據(jù)中用4個bit就可以存儲這個位圖的每個像素在16種顏色中所處的等級,接下來
5、會談到調(diào)色板索引所占的空間字節(jié)數(shù),,因為它只是一個索引,所占的空間會比圖像數(shù)據(jù)RGB結(jié)構(gòu)小很多,,,再設(shè)其像素總數(shù)為800×600(位圖大小)。然后調(diào)色板提供了這16種等級對應(yīng)的(R,G,B)值,這樣,存這個16色位圖只需要:800×600×4/8(0.5個字節(jié))=240000(字節(jié))=0.22M(字節(jié))??注意:16色圖查詢它在調(diào)色板中的RGB組合所用的索引需要占用4個BIT,,這是為什么?下面解釋一下:4位2進(jìn)制數(shù)可以表示16種情況,8位BIT可以表示現(xiàn)實中我們使用的十進(jìn)制的0~255種情況,,額外的存儲R,G,B表的開銷(即調(diào)色板Palett
6、e,也稱為顏色查找表LUT)僅僅為16×3=48字節(jié)。存儲空間被大為減少!常見的位圖有單色(實際是1位圖,,2的一次方為2,,因此它是2色圖,,黑白色)、16色(實際是4位圖,,2的4次方16,,因此它能表示16種顏色)、256色(實際是8位圖,,這種位圖的每個像素都用8位剛好一個字節(jié)來表示,2的8次方為256,因此它能表示256種顏色也即256種RGB的組合也即這種位圖的色深)、16位(2的16次方=65536)及24位(2的24次方=1677萬種顏色和256級灰度值色深差不了很多,所以效果其實與16位圖不相差幾多)真彩色5種,對于前三者(即不大
7、于256色)都可以調(diào)色板方式進(jìn)行存儲,而對16位及24位真彩色以調(diào)色板進(jìn)行存儲是不劃算的,它們直接按照R,G,B分量進(jìn)行存儲。在此基礎(chǔ)上我們來分析DDB位圖(Device-dependentbitmap,與設(shè)備相關(guān)的位圖)與DIB位圖(Device-independentbitmap,與設(shè)備無關(guān)的位圖)的概念以及二者的區(qū)別。DDB依賴于具體設(shè)備,它只能存在于內(nèi)存中(視頻內(nèi)存或系統(tǒng)內(nèi)存),其顏色模式必須與特定的輸出設(shè)備相一致,使用系統(tǒng)調(diào)色板。一般只能載入色彩較簡單的DDB位圖,對于顏色較豐富的位圖,需使用DIB才能長期保存。DIB不依賴于具體設(shè)備,可
8、以用來永久性地保存圖象。DIB一般是以*.BMP文件的形式保存在磁盤中的,有時也會保存在*.DIB文件中。DIB位圖的特點