關於色彩的一些涉獵

2021-08-11 08:37:07 字數 4362 閱讀 2691

「赤橙黃綠青藍紫」,還記得曾經背過的口訣麼。它是日光的混合色,它也是彩虹的顏色。這是我第一次和顏色相處。

因為有了顏色,世界在我們的眼中變得多姿多彩。因為有了顏色,讓我們對世界有了感官的認識。關於顏色的議論隨處可見,我們可以用顏色來描述具體的事物,比如,天空藍,烈日紅,**黃…,也可以用顏色描述一種心情,衝動紅,興奮黃,淡雅綠,抑鬱灰…,甚至還可以用顏色表示更深層次的寓意,比如,原諒綠。總之,在現實世界中,顏色給了我們太多的資訊。這也激起了我對顏色的好奇。尤其是在學習css這門技術的時候,我愈加的感受到了顏色的強大。那麼從**入手呢?這是乙個問題。就像乙個雞蛋擺在眼前,我卻找不到它的縫隙,怎麼下嘴呢?

還記得中學的物理課上學過一些關於顏色的理論,於是從中翻到了「三原色」這個詞,隱隱感覺很重要。那就從它開始吧。

(一)三原色

在人類視覺所能感知的顏色範圍內,幾種色彩的不同比例混合,會「創造」出其他顏色,並且這幾種顏色中的任意乙個都不會由其中其他顏色混合而「創造」出來,這樣的顏色在色彩學中稱為原色。而這種顏色有三種,我們稱之為三原色,也叫三基色。聽名字就很容易理解,它們是基礎的顏色,他們就像原子一樣,任性組合在一起,構成了色彩世界的「物種多樣性」。

三原色是在顏色的混合基礎之上出生的,而不同的混合模式會有不同的三原色。根據不同的場景,顏色會有不同的混合模式。

(二)顏色的混合模式

顏色的混合模式有三種,分別是加法混合、減法混合和中性混合。

1.加法混合

加法混合是指色光的混合。混合色的光的總亮度等於相混各色光亮度之和。它們的三原色是紅、綠、藍。也就是所謂的rgb模式。r,red,紅色;g,green,綠色;b,blue,藍色。可以把色光理解成一顆顆會發光的粒子(這個好像是物理課本中學過的光的波粒二相性)。它們有的會發射紅光,有的會發射藍光,有的會發射綠光–好像是漂亮的螢火蟲。它們無孔不入,蹦蹦跳跳的通過了我們睜著眼皮的瞳孔,然後我們就看見它們了。根據它們不同的比例參雜,我看到了他們不同的「衣裳」。

當牛奶和巧克力混合在一起產生了愛情,那麼它們(三原色)混合在一起會產生什麼呢?,我們來**一下:

(∪表示並集,在這裡有混合的意思)

原來它們產生了愛的結晶!

言歸正題,筆鋒立轉。其中黃光、青光、紫光這些由原色光產生的光,叫做間色光,也叫二次光。如果只通過兩種色光混合就能產生白色效果,那麼這兩種光就是互為補色。比如紅光與青光互為補色,藍光和黃光互為補色,綠光和紫光互為補色。

加法混合模式適用在本身會發光的並且直接映入我們眼簾的物體。比如投影儀,太陽,電視機、電腦的顯像裝置(原理是在螢幕上會分布有極細小的畫素點元件–螢光粉,當顯像裝置發射的電子束撞擊在其上是就會使其發光–紅、綠、藍)

加法混合中混合的光越多,其明度就越高。

2.減法混合

減法混合是指色料的混合。白光通過有色的濾片之後,一部分光被吸收,一部分被反射出來。老話說的沒錯,學會數理化,走遍全天下。於是我又想起了中學物理教材中關於光的透射內容。記不太清了,大概就是這個意思:混合光在通過某一顏色的透明介質時,該光中除該顏色外的其他顏色成分的光會被吸收,而該顏色的光的成分可以安全通過,或被反射出來。比如白光(紅光+綠光+藍光)在透過品紅色(藍色+紅色)濾片時,白光中的綠光會被「吸收」。而藍光和紅光會因被嫌棄得以安全的通過濾片。如果感覺這難以理解,說句人話就是「缺啥補啥」唄。

附註

上述的「缺啥補啥」其實理解的不完全正確。這是我們從看到品紅色濾鏡後才認為它是品紅色的。想一下,樹葉為什麼是綠的,是因為大部分除了綠色以外其他顏色的光被它吸收了,只有綠色光背反**出來。其實這是乙個先有雞還是先有蛋的問題。不是因為葉子不缺綠色才不「吸收」綠色,而是它根本就不吸收綠色,只有綠色光被反射出來了,所以我們「看見」的是綠色

減法混合的三原色是黃、青、品紅(rgb三原色的補色),也就是所謂的cmyk模式,其中c,cyan,青色;m,magenta,品紅;y,yellow,黃色;k,black,黑色。在這裡,k的黑色是充當游擊隊員的角色,用來校正顏色。把調配顏色比作是一場戰役,那麼c、m和y是負責主線戰場的,主線戰場已經正面迎敵。為了勝利,k得去打游擊戰,**需要點那裡。最終我們獲得了勝利,得到了想要的準確的顏色。cmyk是印刷色彩模式,之所以要用黑色來調配,我想是因為現在工藝很難得到高純度的黃、青、品紅色的透明材料,以至於得不到真正的黑(得到的是灰),所以要加一點黑來調配。對於列印技術,這樣做也有乙個好處,因為大多數人的書寫習慣,一般的油墨印表機使用黑色的頻率最高(一般文件之類的都使用黑色的字),所以在更換墨盒時只需要更換黑色墨盒就能大大的降低成本,幫助環保。

好了,是時候來**減法混合脫去外衣的肌膚了:

在白光的透射下

(∩表示交集,在這裡有過濾的意思)

其中紅光、綠光、藍光這些由原色光產生的光,叫做間色光,也叫二次光。如果只通過兩種色光混合就能產生黑色效果,那麼這兩種光就是互為補色。比如紅光與青光互為補色,藍光和黃光互為補色,綠光和紫光互為補色。

減法混合適用於有濾片效果的事物,比如濾片、玻璃、印表機中的列印裝置、印刷機中的印刷裝置

在減法混合中,混合的色越多,明度越低,純度也會有所下降

3.中性混合

中性混合是基於人的視覺「錯覺」產生的混合模式,它的混合介質可以是色光也可以是色料。之所以稱為中性混合,是因為它不變化色光或發光材料本身,混色效果的亮度既不增加,也不減低

根據視覺「錯覺」產生的顏色混合有兩種方式

(一)描述方式

從上面的精彩講述,可能大致已經知道了日常生活中我們是如何「創造」色彩的了吧。既然這樣,那麼是時候去增進感情,增加彼此之間的了解了。就像戀愛,當你找到了戀愛物件並且確立了關係之後,下一步呢?當務之急就是稱呼問題了,以後見面怎麼呼叫對方,總不能一見面就叫「哎,那個誰」吧。於是我們就開始琢磨親呢的愛稱。對於色彩的親暱愛稱還不少,我們描述它的時候,可以用上述rgb模式,cmyk模式,也可以用hex(十六進製制)模式,hsl模式,hsv模式、hsb模式。總之,隨你順口的來。但是不同場合,具體的愛稱要有約束。比如在css這種大場合下,我們可以用hex模式、rgb模式和hsl模式的愛稱,卻用不了cmyk模式。要想放肆一些大不了弄出個rgba模式和hsla模式嘍(表示alpha通道,是一種透明度的通道)。下面我來主要研究一下hsl模式。

(二)hsl模式

為什麼要搞乙個hsl模式的稱呼呢?因為它是更符合人類的直觀思維方式。我對這種描述色彩的方式情有獨鍾。

首先hsl模式中,h,hue,色相;s,saturation,飽和度;l,lightness,亮度,它們是色彩的三個屬性,通過這三個屬性的值我可以確定唯一的乙個我們所能感知的顏色。

物理題:你對你的朋友述說心事:「我今天看見乙個女孩,她穿白色的上衣,黑色的休閒褲,染著淡黃色的頭髮,她真吸引我」。請找出這段話包含的幾種顏色,據此大致推測這些顏色的色相、飽和度和亮度

當然答案是開放的,題也是我編造的,如果要是真有這樣的題,我看我弄幾個五年高考三年模擬都不行。之所以要舉上面的例子,只是為了說明我們看到的每個顏色都可以用色相、飽和度和亮度來描述。

1.色相h

佛家有云:色即是空,空即是色。很多人誤解成美色,其實色即使相,萬物萬相,美色只不過是其中之一。「相」反饋給我們是物的某種形式下的狀態。色相就是光反饋給我們顏色形式下的狀態。不同波長的光在我們的眼中成了不同的顏色的反饋。610nm750nm波長的光,我們的大腦(多核處理器)就會把它自動處理成紅顏色的狀態,400nm430nm波長的光,它就會處理成紫色的狀態。總之色相就是指不同波長光的數學描述。把色相的表示看成乙個圓盤,其值為0-360(正好是原盤度數)。

其中主要的色相有:

2.飽和度 s

飽和度又叫純度,彩色度,它反映了光的雜質度,純度越高,光反映出來的顏色越鮮豔。純度越低顏色越顯得灰。90後的我經歷過黑白電視到彩電的蛻變,那就是電視機飽和度的提公升。飽和度的值為0%~100%。0%時顏色為灰色,100%時顏色最鮮豔,是純顏色。總結一下,我的理解是,飽和度就是純顏色摻灰色的比例。

下圖從右到左為紅顏色飽和度由高到低的變化

3.明度 l

明度又叫亮度,它是光線數量的反映。打個比方,陽光透過窗外稀稀拉拉的樹葉照射到我的棕色書桌上,映入我眼簾的是我那暗棕色的書桌,一陣風吹過來,有更多的光照射到了我的書桌上面,映入我眼簾的是亮棕色的書桌。這就是明度。明度的值為0%~100%。0%時沒有光線照射進來,那麼反應的顏色為黑色;100%光線照射進來的數量為最多,那麼反應的顏色為白色。

下圖從右到左為紅顏色明度由高到低的變化

生活多了一些色彩

如果說生活有一些色彩,那便是有人還記得我這塊寂寞的部落格。有個朋友跟我說,我看見你的部落格更新了!大概有一年半沒怎麼更新,最近兩周燃起都熱情寫了兩篇白開水,竟有人看。真是意外的開心呀。曾經一度想把部落格搬到流行的github上去,但是曾經這裡的瀏覽量,留過的言,就會都沒有了。既然還有人會時不時看一下...

在色彩搭配上的一些經驗

網頁的色彩是樹立 形象的關鍵之一,色彩搭配卻是所有公司的網頁設計師最感到頭疼的問題。網頁的背景,文字,圖示,邊框,超連結.應該採用什麼樣的色彩,應該搭配什麼色彩才能最好的表達出預想的內涵呢?顏色分非彩色和彩色兩類。非彩色是指黑,白,灰系統色。彩色是指除了非彩色以外的所有色彩。任何色彩都有飽和度和透明...

關於RemoteView 的一些字型的一些問題

最近在做乙個 在notification 新增 天氣通知的小部分 發現困擾在 如何給 remoteview 中的字型 作修改 大家都知道 textview 設定字型 在xml 中 可以 設定 3種 而其他字型的設定 需要通過 typeface 去設定 具體 將字型放置在asset 資料夾中 type...