我們經(jīng)常聽(tīng)到RGB, 特別對(duì)于網(wǎng)頁(yè)設(shè)計(jì)者,在選顏色的時(shí)候舱殿,看到的顏色都是 #fff, #34220a這種代碼奥裸,這些到底是啥呢?有沒(méi)有可能一看到 #ff0abc 這種代碼沪袭,大腦就可以浮現(xiàn)是什么樣的顏色呢湾宙?答案是肯定的!
首先我們了解一下什么是RGB.
RGB就是英文 紅( red ), 綠( green ), 藍(lán) ( blue )三個(gè)單詞的首字母,是一種表示顏色的方法侠鳄。也就是說(shuō)在這種方法中用紅埠啃,綠,藍(lán) 來(lái)表示一切顏色伟恶。當(dāng)然碴开,還有其他表示顏色的方式,最常用也是最直觀的就是RGB方式博秫。
其中潦牛,每一個(gè)分量都用0~255來(lái)表示,你可以想象為每個(gè)顏色由紅綠藍(lán)三盞燈擠在一起挡育,當(dāng)三盞燈全部最亮(數(shù)值都為最大值255)的時(shí)候巴碗,組合出的顏色就是白色的。如果RGB為(0静盅,0良价,0),也就意味著三盞燈全滅蒿叠,也就是黑色了明垢。那如果RGB為( 255,0市咽,0)也就是最亮的紅燈+滅掉的綠燈+滅掉的藍(lán)燈痊银,顯然最終顏色為最紅的紅。
然后施绎,你大腦里應(yīng)該有不同顏色的兩兩組合結(jié)果溯革,比如紅+綠,當(dāng)然是黃色( 你可以想象橘子谷醉,最開(kāi)始為綠色致稀,然后紅色部分慢慢變多,就變成黃色俱尼,最后紅色分量越來(lái)越多抖单,就越來(lái)越偏向紅了);再比如紅+藍(lán)遇八,當(dāng)然是紫色矛绘,你可以想象下紅色分量越多的情況,以及藍(lán)色分量越多的情況刃永;在比如綠+藍(lán)货矮,其實(shí)就是一種湖水的青色(綠色湖水倒影藍(lán)色天空就是這顏色,對(duì)不對(duì)斯够?)
其實(shí)也就這三種組合囚玫,那有人會(huì)問(wèn)喧锦,為什么不討論三種顏色組合呢?因?yàn)槿绻N顏色的分量都一樣大抓督,比如RGB:( 100, 100, 100 ), 也就是說(shuō)紅綠藍(lán)三個(gè)分量不會(huì)偏向任何一種顏色裸违,它表現(xiàn)出來(lái)的就是灰度(或者說(shuō)是亮度)
這樣,我們來(lái)思考下RGB( 100, 50, 20 )是怎樣的顏色本昏, 首先我們藍(lán)色的部分不去考慮供汛,因?yàn)樗{(lán)色是20, 紅色里也有20涌穆, 綠色里也有20 怔昨,這部分是抵消掉的(只會(huì)增加亮度),剩下的部分就是紅色為100-20=80宿稀, 綠色的部分為50-20=30趁舀, 也就是不太亮的紅(畢竟最亮為255)+更少的綠,最終結(jié)果就是那種非常暗的橘色(更偏向紅色)
那#ff00ab這種代碼就是什么含義呢祝沸?其實(shí)它是rgb顏色數(shù)字的16進(jìn)制表示法矮烹,16進(jìn)制中,每?jī)蓚€(gè)數(shù)字可以表示0~255罩锐, 比如#ff00ab , 你可以看成 ff, 00, ab 三個(gè)數(shù)的組合 奉狈,因?yàn)槭?6進(jìn)制,每一位可以表示0~15涩惑, 那超過(guò)9了怎么辦呢仁期? 就用a, b, c, d, e, f表示, 所以 f表示15竭恬, 那16進(jìn)制的af跛蛋,其實(shí)就是 f + a * 16 ( 也就是 15 + 10*16 = 175 ), 當(dāng)然了,你完全不用計(jì)算痊硕, 你只要知道最大的肯定是ff( 也就是 255 )
所以#ff00ab 赊级, 就是紅色是ff, 綠色是00 , 藍(lán)色是ab , 紅色是最亮岔绸,綠色沒(méi)有理逊, 藍(lán)色也不少,畢竟都超過(guò)99了亭螟, 所以最終是明亮的紫色(偏向紅的紫色)