天天看點

32位色與24位色

32位色與24位色  

bit-深度    色彩數

1           2 (monochrome)

2           4 (cga)

4           16 (ega)

8           256 (vga)

16          65,536 (high color, xga)

24          16,777,216 (true color/真彩色, svga)

32          16,777,216 (true color + alpha channel/控制透明度,-遊戲特效)

      關于256色,早先的一些較為形象的解釋是了解為256個油漆桶/256色調色闆,配置設定給它們編号/索引号。“叫到哪個顔色”哪個顔色就出來填充像素。因為如16色、256色的色彩數有限是以這麼解釋很簡單易了解。然而電腦操作過程中必須經過數位編碼,那麼實際上256種顔色對應256個數位(二進制數值),也就是2^2 * 2^3 * 2^3 = 2^8 = 256。256色模式下電腦沒有必要去按24bit處理,在當時dos時代,處理8bit色彩比24bit要容易多了。

     當然256色中的任意一種顔色都可以用24bit表示,甚至可以用32bit,64bit表示。但是不管如何,24bit模式就意味着17.7million種顔色。256色模式就意味着256種顔色,或者了解為24bit的17.7million種顔色中的256個顔色。

256色模式: 共8 bits (b: 2 bits; g: 3 bits; r: 3 bits)。

high color:共16 bits (b: 5 bits, g: 6 bits, r: 5 bits)。

true color:一般24bit就是8bit/通道,真彩色。

windows下的32位是r、g、b三個通道各占8位共24位,加上明度通道8位,是以是32位,24位也就是r、g、b三個通道各占6位共18位,加上明度通道6位,是以是24位。

32位色中的24位用來儲存顔色資訊(r8g8b8),另外的8位用來儲存alpha資訊,alpha屬性就是透明度。

24位色也有幾種表示,可以是r5g6b5,也可以是r5g5b5,等等

16位色塊可能會比較少,32比較好點

在顔色數方面,當然很明顯,是2的16次方、24次方和32次方的差别。從人眼的感覺來說,16位色能基本滿足顯示需要,粗看起來和24位色、32位色差不多,仔細點研究的話,會發現在大面積的漸變色中16位色顯示會出現隐約的分隔線。實際應用中,最常用的是24位色,比如網頁和其他地方表示顔色的“#80ff2e”之類的字元串,用答cdsee看圖檔也可以看到大部分圖檔的色深是24位。至于32位色,那是在24位基礎上加出來的,據說是加了8位透明色,實際和24位色沒多大差别,至少我們的眼睛是分辨不出來的。

32位色是指我們圖像的rgb各8位,然後再加上z-buffer 8位湊成32位!其中真彩24位就足夠了!然後後面的8位是在3d的顯示中的!

什麼是24位bmp圖檔:   

    24是指圖檔顔色的位數,隻是以圖檔要分顔色的位數,是因為既然圖檔以“像素”形式存貯着,就要記錄下來第個“像素”的顔色值,這樣才能在打開圖檔時看到存貯的圖檔。

    記錄每一個像素的顔色值占用的二進制位數,就是bmp圖檔的位數,記錄顔色值時又有不同的方法,比如用rgb值,也就是記錄下紅(red)、綠(green)、藍(blue)的顔色值進行混合,還有xrgb、argb等等。

    比如16位顔色值,可心這樣分:x1位,r5位,g5位,b5位;r5位,g6位,b5位或者是x、r、g、b均4位等等;

    24位顔色值稱為“真彩色”,它有着統一的顔色配置設定:r8位,g8位,b8位;

    32位顔色值一般這樣配置設定:x8位,r8位,g8位,b8位或a8位,r8位,g8位,b8位。

    當然還有更多的不同顔色值的圖檔,比如1位的,4位的,8位的等等,每種顔色值所用的位數越多,則表現這種顔色深度的精度越高,所有圖像也越逼真,當然圖檔的容量也就越大。

在實用美術中,常有"遠看色彩近看花,先看顔色後看花,七分顔色三分花"的說法。

  這也就說明,在任何設計中,色彩對視覺的刺激起到第一資訊傳達的作用。是以,對色彩的基礎知識的良好掌控,在網頁設計中才能做到遊刃有餘。

  為了使下面的網頁配色分析更易于了解,我們先來了解色彩的rgb模式和hsb模式。

 rgb

  rgb是表示紅色綠色藍色又稱為三原色光,英文為r(red)、g(green)、b(blue),在電腦中,rgb的所謂"多少"就是指亮度,并使用整數來表示。

  通常情況下,rgb各有256級亮度,用數字表示為從0、1、2至255。雖然數字最高是255,但0也是數值之一,是以共256級。按照計算,256級的rgb色彩總共能組合出約1678萬種色彩,即256×256×256=16777216。通常也被簡稱為1600萬色或千萬色。也稱為24位色(2的24次方)。

  對于單獨的r或g或b而言,當數值為0時,代表這種顔色不發光;如果為255,則該顔色為最高亮度。是以當rgb三種色光都發到最強的亮度,純白的rgb值就為255,255,255。螢幕上黑的rgb值是0,0,0。r,意味着隻有紅色存在,且亮度最強,g和b都不發光。是以最紅色的數值是255,0,0。同理,最綠色就是0,255,0;而最藍色就是0,0,255。×××較特殊,是由紅色加綠色而得就是255,255,0

     對于m8 來說 32位色與24位色基本沒有什麼差别。8個透明度的處理,我們也看不出什麼。而采用32位色的關鍵在于:

24bit 和 32bit 是一樣的,由于24bit不能在顯存中對齊,是以不是所有的顯示卡都能支援。反而 32bit 因為可對齊,大多數的顯示卡都支援(當然顯存要足夠大)。32bit實際上也是24bit,一般都在 msb 上填充 8bit 的 0 或 alpha (沒有實際效果)。 

本文來自csdn部落格,轉載請标明出處:http://blog.csdn.net/xiamin/archive/2008/11/20/3342270.aspx