顏色是我們對到達視網膜的各種頻率的光的感覺。我們的視網膜有三種顏色感光視錐細胞,負責接收不同頻率的光。這些感光器分類分別對應於紅、綠和藍三種顏色。人眼可以覺察的其他顏色都能由這三種顏色混合而成。
在計算機中,顏色通常用rgb(red-green-blue)值表示,這其實是三個數字,說明了每種原色的相對份額。如果用0到255的數字表示一種元素的份額,那麼0表示這種顏色沒有參與,255表示它完全參與其中。例如,rgb值(255,255,0)最大化了紅色和綠色的份額,最小化了藍色的份額,結果生成的是嫩黃色。
rgb值的概念引出了三維「色空間」。圖3-10展示了一種顯示色空間的方法。
用於表示顏色的資料量稱為色深度,通常用表示顏色的位數來表示色深度。增強彩色指色深度為16位的顏色,rgb值中的每個數字由5位表示,剩下的一位有時用於表示透明度。真彩色指色深度為24位的顏色,rgb值中的每個數字由8位表示,即每個數所屬的範圍是0~255,這樣能夠生成1670萬種以上的顏色。
下表展示了一些真彩色的rgb值和它們表示的顏色:
24位真彩色提供的顏色比人眼能夠分辨的顏色多。此外,顯示器能顯示的顏色也受限於特定的色深度。為了使顯示器顯示的顏色減少到256色,程式指定的任何顏色都會被對映到硬體能夠顯示的調色盤中與之最接近的一種顏色。圖3-11顯示了這種受限制的調色盤。當想要顯示的顏色與硬體能夠顯示的顏色之間差別太大時,顯示的結果通常都不令人滿意。令人欣慰的是,大多數現代的顯示器都提供了足夠大的顏色範圍,因而大大減少了這種問題。
詳情可參考《電腦科學概論》—第3章3.5節影象與圖形表示法。
**millionbenjamin的部落格:
計算機中負數表示法
問乙個基本的問題。負數在計算機中如何表示?舉例來說,8在計算機中表示為二進位制的 1000 那麼 8 怎麼表示呢?很容易想到,可以將乙個二進位制位 bit 專門規定為符號位,它等於 0時就表示正數,等於 1時就表示負數。比如,在 8位機中,規定每個位元組的最高位為符號位。那麼,8就是 0000100...
計算機中數的表示
異或 xor,exclusive or 運算的真值表如下 ab a xor b00 0011 1011 10用一句話概括就是 兩個運算元相同則結果為0,兩個運算元不同則結果為1。與非 nand 和或非 nor 運算就是在與 或運算的基礎上取反 ab a nand b00 1011 1011 10 a...
計算機中的顏色I 顏色概述
無論是設計網頁還是編寫程式,乙個美觀的介面是必不可少的。仔細分析介面的構成,無外乎兩個因素 一是顏色 乙個是形狀。這個又被稱為ui設計。美術功底好的人,是能設計出讓人賞心悅目的介面來,欠缺美術功底的人,有時費盡心思也沒轍。這個系列的文章,專注於計算機的顏色表示。通過了解計算機的顏色表示,能有助於提高...