色彩調整需要一定的色彩知識,但在講解ps的有關書籍中都不講解色彩知識(只有簡單的概念介紹),在網上也很難找到這方面的資料,因此不少人只有一個色彩方面的基本概念,真要運用起來,總是感到無從下手,比方說:1、色相、飽合度、亮度與R、G、B值存在什麼關係?換句話說就是R、G 、B值是如何決定色相飽合度與亮度的?2、色輪上的紅、黃、綠、青、藍、品各自的60度範圍是的R、G 、B有什麼特徵?如果是在30、60、90、120度等一些特殊的角度是R、G、B的關係又是怎樣?

  【一】造成這種現象教材有一定責任,但也不能全怪教材。通常教材在講到 RGB 顏色的階段,匠術的內容還比較淺顯,而 RGB 顏色空間在這時除了講三基色以外,還沒有什麼很具體的內容適合繼續深入,再要講下去就是基色通道,但講解通道還不是時候。於是教材就採取了「偷奸耍滑」的辦法,趁著讀者對於顏色空間還沒有完整的概念,帶著你不知不覺中偷偷轉向,把 RGB 空間「類比」到 HSB 顏色空間,轉來講述顏色的色相、飽和度和亮度屬性。

  從教學意義上可以說這個偷換概念的做法是成功的,有效的,在學習的初期用糊弄的辦法避開難點,但也讓你不知道受到了糊弄,以為一切順理成章而且嚴謹周密(其實我們的小學課本、中學課本也都是這麼編的)。這是「教學技巧」,無可厚非。但是如果教材能夠在完成自己這一階段後,把真相如實的告訴你,說清楚什麼地方避重就輕的採取了愚民政策,並且指出存在問題那就更好了。如果能再對這些問題回過頭來加以重新認識和講述,那真是比好還好,功德圓滿了。可惜好事難以成雙,或許這種教學方法成了套路,傳統教學培養的後代作者本身在這些地方也比較薄弱,所以就習慣性的迴避這些難點。此外越難的東西感興趣的讀者越少,也是原因之一。

  不過當我們學過了基礎理論之後,就有了條件把以前被糊弄的地方搞清楚。當初是不得已,但現在有了適當的基礎,如果願意是不難做到的。那就言歸正傳從顏色空間說起。
 
 
  【二】顏色通常用三個相對獨立的屬性來描述,三個獨立變量綜合作用,自然就構成一個空間坐標,這就是顏色空間。而顏色可以由不同的角度,用三個一組的不同屬性加以描述,就產生了不同的顏色空間。但被描述的顏色對像本身是客觀的,不同顏色空間只是從不同的角度去衡量同一個對象。

  顏色空間按照基本結構可以分兩大類,基色顏色空間和色、亮分離顏色空間。前者的典型是 RGB,還包括 CMY、CMYK、CIE XYZ 等。後者包括 YCC/YUV、Lab、以及一批「色相類顏色空間」。CIE XYZ 是定義一切顏色空間的基準,很奇妙的是,它即屬於基色顏色空間,也屬於色、亮分離顏色空間,是貫穿兩者的樞紐。我們主要要討論的是色、亮分離顏色空間中的子類型「色相類顏色空間」,它是把顏色分成一個表亮屬性,和兩個表色屬性,其中有一個表色屬性是色相。而色相以外的兩個屬性可以選用不同的變量來定義,而色相的概念不變,因此就構成一族共同使用色相屬性,另加表亮屬性和表色屬性各一個組成的顏色空間。它們是顏色空間中的一個家族。暫且統稱為 HSB 顏色空間(但後面要詳細劃分)。

  因為不同顏色空間描述的相同的客觀對象,所以它們之間必然存在數量的相互轉換關係,但是需要十分明確,RGB 和 HSV 空間,雖然在教材中狐狸糊塗的把他們糾纏在一起,但它們實質上是概念完全不同的顏色空間,它們的共同點是比較常用,也比較容易直觀理解,但這是表面的聯繫。

  只有以 R、G、B 為變量的直角坐標空間才稱為 RGB 顏色空間,在 RGB 空間中,三個獨立屬性變量性質對等,相互加減運算有意義,任何涉及色相、飽和度等等為基本顏色屬性的,還有跟「色輪」一類概念直接關聯的、用角度表示顏色的等等,都是 HSB 顏色空間,絕沒有混淆的餘地。在 HSB 顏色空間中,三個顏色屬性性質不同,你不可能把色相和飽和度加在一起,就好比時間不能與面積相加,恐龍不能與螞蟻雜交。

  我們還記得傳統教材是通過色輪上幾個基色和二級色與色輪角度位置的對應關係在兩個顏色空間之間偷換概念的,但存在對應關係與兩者相等是完全不同的概念。有常識的人都知道,人民幣和美圓有兌換關係,但人民幣是中國人民銀行發祥的,美刀是美國聯邦儲備銀行發行的,各屬各自的金融體系。能兌換並不等於人民幣就是美刀。RGB 與 HSB 顏色空間與此同理。

  zhangwei5009 朋友提的是個好問題,說明已經清楚的意識到 RGB 與 HSB 顏色空間實質上的區別,也明確了兩者之間必然存在客觀的轉換規律,並思考和探詢兩者之間的定量轉換關係。提出這樣問題的學習者不太多(我記得 zhangwei5009 很早就在短消息裡提過類似問題),傳統 PhotoShop 教材中除了千篇一律的重複六個基色、補色點以外,很少有教材在這個問題上有明確說法。

  【三】顏色空間中沒一個坐標點對應一種顏色,顏色空間要求顏色與空間坐標一一對應,即不能某一個點對應多種顏色,也不應該一種顏色對應多個坐標點。不過在 PhotoShop 這樣一個實用工具中,在特殊情況下存在多個坐標點對應實質上相同顏色的現象,這是因為某些顏色空間的形狀十分離奇古怪,為使用方便性考慮,做了一些權宜讓步,把奇異的顏色空間形狀虛擬為規矩的形狀。這是一種程序設計技巧,因為這裡主要偏重顏色理論討論,這種應用技巧擱置不談(但我們點明有此一說,而不是假裝它不存在)。

  關於顏色空間的宏觀概念暫且打住,還是具體來看主要討論的「色相類顏色空間」。前面已經概述過,色相類顏色空間由色相屬性、另一個表色屬性(通常稱為「飽和度」即顏色純度)和一個表亮屬性構成,基本上它的三個屬性是通過 RGB 空間的屬性,即三個基色色階值來定義的。色相的定義總是恆定,而另兩個屬性則有多種定義方式。

  也就是說,把顏色這樣一個綜合概念拆分成色相和非色相兩部分獨立屬性,這是固定的步驟,再把非色相屬性拆分成另外兩個獨立屬性,——有各種各樣的拆分方式,因此構成一個家族,每種方式都是這個家族中的一個成員。那麼具體到 PhotoShop 中的 HSB 顏色模式,使用是色相和哪兩種屬性呢,如果問題能這麼問,那就謝天謝地了。PhotoShop 中對於飽和度屬性與表亮屬性的使用,與「色相類顏色空間」家族的龐雜關係同樣混亂不堪,涉及 PhotoShop 中表示飽和度的有三種(或者說「兩種半」)不同的「飽和度」屬性,而表亮屬性則有至少有六種,其中一部分相互結合併與色相屬性組合,——據我目前所知——構成了至少三種實質上不同的「HSB 模式」也就是「HSB 顏色空間」。

  具體說,取色器和「信息」調板上的「HSB」屬於理論上「色相類顏色空間」中稱為「HSB/HSV」的顏色空間;
  「色相/飽和度」命令中的,是另外一種通常稱為「HSL/HLS」的顏色空間,它的飽和度與「亮」屬性的定義與上面差別頗大;「色相」、「飽和度」等圖層混合模式中涉及的,又是另一種「色相類顏色空間」,這種組合沒有通用名字,可能是 Adobe 系列軟件自行定義和專用的顏色空間。

  因為「HSB」這個名稱已經給了第一種專用,為區別期間,以後統稱「色相類顏色空間」我們改用「HS*」來表示。理論上的 HS* 顏色空間還有更多種變化,比較大的差別產生在表亮屬性的定義,這不僅是 PhotoShop 中令人頭疼的概念,也是整個顏色理論中亂如一團麻的概念。不僅六種以上的「亮」概念沒有固定的術語將它們嚴格區分,而且它們表示發亮的數值也相互出入很大,例如兩種顏色在某種「亮度」意義下認為亮度相等,而換一種「亮度」概念來看,他們的亮度可能相差九倍。 

  

【四】所以表面看 PhotoShop 的顏色概念精密和諧,實際上,在 PhotoShop 內部它們比迷宮還亂。但是 Adobe 根本就不希望你知道這些,同時也沒有提供適合精確描述這些空間特性的基本概念。

  我們說「PhotoShop 是根據精密的光學理論設計的」,這話沒錯,這些東西也不是 PhotoShop 搞怪而是「精密的光學理論」就是如此,它的確有精密的部分,但我們也不要隱瞞它糟糕的、令人無所適從的部分。那麼是科學有問題麼?科學家是糊塗蛋、睜眼瞎麼?也不是。關鍵的原因是顏色這種東西太緊密的涉及到人的主觀感覺,如果不是為了將就我們的感官和心理,那麼光的強度用能流密度表示,顏色用光譜成分表示,這種客觀的光學理論完美無缺。就是因為要適應人類視覺這種特性古怪、翻覆無常、莫名其妙的感光設備,並且以人為本為人服務,顏色理論才搞得一塌糊塗。

  人類心理對於顏色感知的主觀影響不說了,就說眼睛這種感光器官,它有非常非常寬廣的感光範圍,可感受的光能強度跨越十四個數量級以上,遠遠大於任何人造的感光設備,但是在不同的亮度範圍,感受的敏感度卻相差懸殊,而且它由兩個部分銜接起來的(明視視覺和暗視視覺),由兩種不同感光細胞分別負責(視網膜上的錐狀細胞和桿狀細胞),兩種細胞的特性相差很大,同時人眼對於顏色的感知相對遲鈍得多,它不能分辨三色混合與太陽光全光譜混色的區別,所以我們才能用三基色的混合來冒充自然光譜,不然的話(如果我們的眼睛足夠「精密」和「敏銳」),無論是彩色印刷,彩色攝影,彩色電視和顯示器……一切現有的人造彩色圖像,就都不是這麼簡單了,就會比現在困難很多,成本也會高昂得多。

  所以有一個戲謔的說法,三基色技術是人類是借用自身的「缺陷」自己佔自己便宜。

 
  【五】權當是枯燥話題之前的一點娛樂,下面的東西就慢慢的晦澀了。上文說到,PhotoShop 中涉及的 HS* 類顏色空間實際上有三種,其實細心的使用者可能早已感到了。例如前幾天舉的一個最簡單不過的例子來批駁 PhotoShop 手冊中關於「色相」,「飽和度」一類混合模式的定義,PhotoShop 中自相矛盾的根源,就是因為所謂「色相」,「飽和度」的概念在不同工具和命令中是彼此不同的,此「飽和度」非彼「飽和度」,正如清人對屬所云,「藺相如司馬相如,名相如實不相如」。

  還有「色相/飽和度」命令中,我們單獨調整「飽和度」或「明度」滑標同時查看信息調板,S 和 B 屬性的變化規律完全不是按照正常概念所預期的那樣變化,以至於對於最普通的「色相/飽和度」命令我們很長時間都難以找到它的確切規律。這些還只是表面現象,理論的分析能徹底找到它們在基本概念上到底差別在什麼地方。

  幸好我們主要關心的概念是色相,在各種不同的 HS* 空間中,色相的概念是不變的,而「色相/飽和度」命令加上「信息」調板,恰好是分析色相與 RGB 顏色空間屬性的最好工具。在實際觀察分析前需要指出一個分析 HS* 顏色空間概念的關鍵點,在我們熟悉的 RGB 顏色空間中,顏色決定於三個通道的色階值組合,我們關心的是三個通道色階值的實際數值或絕對數值,紅多少綠多少藍多少,但是,在探索 HS* 空間基本顏色屬性時,分析它們與 RGB 屬性之間的關係時,要把注意的重點放到 RGB 顏色色階的相對數值上,也就是 R、G、B 三者誰大、誰中、誰小,這是理解 HS* 空間屬性與 RGB 關係的頂尖機密。

  只要把腦筋換到大中小關係上,那麼色相與 RGB 之間的對應關係不攻自破。我們首先簡要複習一下中學中的排列組合,三個數值按照大中小順序排列,可能的結果有六種,就不一一列舉了。而顏色的色相屬性恰恰是由這六種排列決定的,R、G、B 三者中最大的那個決定色相的主要基調,中間的和最小的決定實際顏色與主要基調的偏離程度,中間的和最小的兩個對於色相有相互「抵消」作用,即兩者相等時對色相的影響正好抵消,色相就等於主要色調的色相。


  我們說的「主要色調」,就是色輪上間隔 60°分佈的紅黃綠青藍品——基色和其補色。60°,一種六種基色和補色,還有大中小關係的六種可能,這些六六大順的組合是碰巧得來的嗎,其實不是,實際上色相概念本來就是照著這種規律來定義的,種瓜得瓜,求仁得仁,一點也不奇怪(我知道你還是感覺有點奇妙)。
 
  

【六】我們用一個試驗來強化上述概念。

  任意取相同色相的顏色,一種可以,幾種也可以。這裡取 45°,一個一般值。打開「色相/飽和度」命令面板,慢慢將色相加大,同時密切監視「信息」調板上 RGB 顏色值的變化,可以看到 RGB 值居中的綠色階值在緩緩增大,而最大、最小的紅、藍保持不變。我們知道當該顏色的色相轉到 60°,也就是「色相」滑標調整到 15°時,顏色將變成純黃色,這不希奇,我們要看的在這個關鍵點上,RGB 顏色將發生的奇妙轉折。

 

Photo Sharing and File Hosting at Badongo.com

當色相逼近 60°時,居中的綠色色階值也達到了原來最大的紅色的相等值,然後色相超過 60°。達到最大值的綠色不再增加,並開始坐莊不動,把原來在這個位置的紅踢了出去,無家可歸和紅開始向下墮落……

 

Photo Sharing and File Hosting at Badongo.com

 

Photo Sharing and File Hosting at Badongo.com

色相繼續輪轉到將近 120°,逐步減小的紅達到了最小值藍的色階值,不出所料,紅色搶佔了藍的老窩,藍滾蛋,開始外出流浪。它不能再減小,那麼就上升吧……

 

Photo Sharing and File Hosting at Badongo.com 

Photo Sharing and File Hosting at Badongo.com

色相又增加 60°,增大的藍色階值達到了原顏色色階值的最大值(綠色佔據的位置),不再增加,而綠色,此刻再次輪到了綠色上路,但是與開始不同,現在綠要步紅的後塵開始減小……

 

Photo Sharing and File Hosting at Badongo.com Photo Sharing and File Hosting at Badongo.com

再轉下去我們要換到另外一側,因為色相 360°週期重複,加 180°等於減 180°。

 

Photo Sharing and File Hosting at Badongo.com Photo Sharing and File Hosting at Badongo.com

如此步步輪換,以色相輪轉 60°為一個階段,直到色相轉過 360°完成一個循環。

 

Photo Sharing and File Hosting at Badongo.com Photo Sharing and File Hosting at Badongo.com

 

 

Photo Sharing and File Hosting at Badongo.com Photo Sharing and File Hosting at Badongo.com

【七】現在總結色相輪轉的規律了,顏色以 HSV 顏色空間的屬性值變化,保持飽和度與「亮值」恆定,色相發生輪轉。我們要觀察的是在 HSV 空間顏色屬性上述變化中,對應 RGB 顏色空間的屬性,即三個基色通道色階值的變化規律,也就是兩個顏色空間顏色屬性的映射規律。

  假定顏色初始狀態下三個基色通道色階值分為大、中、小,重要的是色階值最大的基色通道的色階最大值,以及色階值最小的基色通道的色階最小值,而初始狀態下哪個通道色階值取最大,哪個通道色階值取最小並不太重要。

  色相輪轉以 60°為一個狀態階段,在同一個階段中基色通道的色階值變化趨勢不變,而過渡到下一階段則變化趨勢發生改變,狀態階段的交界是色相 0°、 60°、 120°、 180°、 240°和 300°的色相點,在這幾個色相值關鍵點,基色通道色階值的變化趨勢發生轉折。

  在色相輪轉的一個階段中,三基色通道色階值有一個保持最大值不變、一個保持最小值不變,只有色階值居中的那個通道的色階值隨色相輪轉增大或減小,直到色相值輪轉到下一個關鍵點,居中變化的基色通道的色階值達到最大值或最小值,這時通道色階值的變換趨勢轉折,色階值變到此最大或最小值的通道把變化交給原來取此值的那個通道,原來色階值在這個值的基色通道的色階值開始向另一方向變化,基色通道色階值的變化進入下一階段,而到達此色階值的那個基色通道的色階值保持此最大或最小值不變。

  基色通道變化趨勢的轉折點也就是色相輪轉的色相關鍵點,關鍵點對應的顏色是純色,而純色對應三個基色通道的色階值有兩個相等,同為最大或最小值,而另一通道取另一個色階值。

  色相輪轉一周,基色通道的接力變化完成一個循環。

  從「色相」概念的定義看,這些有意思的現象是很自然的。「色相」是用 RGB 基色通道色階值定義的,色相的概念本來就是這麼定義的。六個階段狀態的輪轉,就是「色相」屬性定義的分段函數。
 
 
  

【八】前面「自佔便宜」的話是早先的一句「鳳氏名言」,而關於 PhotoShop 中色相變化與 RGB 顏色屬性的關係,只要記住這一句:

  色相輪轉是 RGB 顏色的接力賽跑。

  這是基色通道的變化接力,色階值變化的通道當色階值變到最大或最小值時,就把變化的接力棒交給色階值「等在那裡的通道」,自己的色階值保持這個最大或最小值。色相輪轉的任何狀態下,只有一個基色通道的色階值在變化,而色相關鍵點就是接力站。如果在色相輪轉的同時監視動態直方圖,更可以清楚的看到 RGB 色階輪番交替的順次變化。

  RGB 顏色色階值中有一個中間值,中間值是哪個,是變大還是變小,組合起來也是六種可能,每種發生在色相 60°單位變化的一個階段。我們打算與「六」打六次交道,數著,這是第四個。 
 
  下面看色相輪轉的幾個特殊位置。色相轉動 120°,三個基色通道的取值步進輪換;

 

Photo Sharing and File Hosting at Badongo.com

色相轉動 180°,原顏色的三個基色通道中,色階值原為最大和最小者色階值交換,原色階值居中的仍然居中,但數值關係怎麼變化呢,自己考慮也試驗看看。

 

Photo Sharing and File Hosting at Badongo.com

【九】開宗明義的主旨還沒有忘吧,我們要探索的是 HS* 與 RGB 顏色空間的關係。一系列試驗中我們觀察的是 RGB 顏色的色階值變化,但是並沒有把它們的變化放到 RGB 顏色空間中來尋找進一步規律。這正是下面要做的事。

  我們關心的不僅是現象、不僅是 PhotoShop「色相/飽和度」命令中的「色相」變量調整,以及與 RGB 顏色空間屬性變量——基色通道色階值的對應規律。這些都是具體的、枝節的東西。我們真正想得到的,是關於顏色空間的基本規律,即兩個顏色空間的屬性變量映射關係,也就是從最基礎的層次將 RGB 和 HS* 顏色空間聯繫起來,找到它們基本變量之間的映射關係。

  因此下面我們要從完全抽像的角度來看兩個顏色空間,涉及的多是立體幾何了。RGB 顏色空間是一個以 R、G、B 被變量的直角坐標,三個坐標軸對應 0-255 所保衛的立方體就是 RGB 顏色空間的全部範圍。將前面試驗中基色通道色階值的變化規律抽像到 RGB 顏色空間,就得到 HS* 空間的色相屬性輪轉過程中,RGB 空間屬性值在 RGB 空間的運動軌跡。下圖所示,三通道色階值的軌跡沿一個立方體的幾條邊運動,這個立方體位於整個 RGB 空間立方體(色立體)內部,它的主對角線「騎」在色立體的主對角線上,內部立方體的邊長正好就是前面試驗顏色 RGB 三值中最大與最小的差。

 

Photo Sharing and File Hosting at Badongo.com

【十】上圖不需要額外的證明,它就是前面試驗中 HS* 空間的純色相屬性輪轉一周所觀察到的 RGB 值的六段變化規律在 RGB 空間中描畫出來,是同一個事實的另一種描述方式。也就是 HS* 空間色相屬性週期變化時,顏色在 RGB 空間的變化軌跡。

  注意 RGB 顏色空間立方體,以及顏色空間內部的立方體具有同樣的幾何特性,它是八個頂點,十二條邊和六個面構成的正六面體,十二條邊中有六條不接觸主對角線,上面的軌跡就是這六條邊連成的一條不共面扭曲折線,我們把 RGB 顏色空間顏色點沿折線運動所對應的色相變化標在上面。這是一種 RGB 與 HS* 空間屬性的映射關係。內部立方體的八個頂點分別是三基色、三補色加上黑、白,內部立方體各邊對應的 RGB 值關係標在圖上。在每條邊上,三個基色通道色階值的相對大小關係相同,各邊之間則不同,對應三個通道色階值排序的六種組合。在每個頂點,折線的走向發生轉折,也就是通道色階值的變化趨勢發生轉折——即三個基色通道中色階值隨色相輪轉而變的通道在不同邊之間發生了「接力」交換,因此顏色在 RGB 顏色空間中的變化方向發生轉折。

  這個折線在 RGB 空間轉換 HS* 中作用十分重要,其它的重要屬性幾乎都可以以它為基礎推證出來,這裡不做具體證明,想要最嚴格的證明只要用立體解析幾何就可以,是實際上立方體中的對稱關係十分豐富,概念一目瞭然,很多證明都不必要了。

  下圖中左上是另一個重要空間關係,稱為「等色相面」,它與前面折線的性質剛好相反,折線是只有色相變,HS* 其他屬性不變,等色相面是其他屬性都變,只有色相不變的顏色變化在 RGB 空間的變化軌跡。它是一個平面,看圖就不用語言描述了。實際上這是等色相與反色相共同擁有的平面。

  圖中右下稱為「等去色面」,「色相/飽和度」中命令「飽和度」屬性變化的結果,映射到 RGB 空間就是顏色在這組平面上運動。它是六個三角形拼成的不共面曲折面。有了基本屬性的軌跡映射關係,HS* 顏色空間屬性變量與 RGB 空間屬性變量的映射就基本完整了。

  上述這些關係通過立體直觀都是十分明顯的空間點、線、面關係,我相形對屬於「藝術細胞」的朋友想像起來會比我容易得多,準確得多,因此圖在就不需多解釋了。因這完全屬於形象思維的範疇,我是不擅長的。還有前面一直沒有提一句關於 HSB(姑且將 HSB 作為各種 HS* 的代表)顏色空間的形狀,這好像也不用說了,基礎教科書在轉向講解 HSB 顏色空間時都說過。

 

Photo Sharing and File Hosting at Badongo.com

【十一】上面「四方聯」中還有兩個標記「等色性體」的圖,是結合日前紅火的那個調整灰暗顏色帖子,其中涉及一些方法與 RGB 顏色空間屬性的概念有關。這個概念稱為「等色性體」,也就是 RGB 空間中 r、g、b 屬性滿足一定大中小順序關係的局部空間,因為大中小關係是六種所以肯定等色性體有六個。看圖。果真是六個,每個「吃」住扭曲折線的一條邊。

  每個等色性體是一個不規則四面體,例如第一個等色性體佔據的頂點是黑、紅、黃、白,其中顏色是明暗不等的紅橙黃,最亮可以到白最暗到黑。直觀的很還是不需多解釋。自己可以試把各個等色性體分別畫出來。六個等色性體是形狀完全相同的空間立體,六個正好精確的拼成立方體。

  還有一個圖是調色帖中改進算法對應的色相範圍(在 RGB 空間中映射為 R、G、B 顏色條件)。我們說過它的條件是 R > G > b 與 2*R > G > R > B 的合集,在 RGB 顏色空間中就是第一個等色性體與第二個等色性體前一半的拼合。兩者都是 RGB 空間的四面體,本來八個面,一對重合抵消,一對共面合成一個,剩下的是不規則五面體(四稜錐)。自己想像一下,四個這樣相同形狀的四稜錐正好紋絲不差的拼滿整個立方體。


  那麼大家一定要問,那麼到底 RGB 與 HSB 屬性變量轉換的數學公式是什麼。因為在上面的分析中我們看到,幾乎所有的屬性映射都市分段的,那麼可想而知,RGB 與 HSB 的轉換公式也不可能是一個簡單的單一函數,它是分段描述,分條件計算的。實際上它與其說一個公式更適合用一小段程序的形式描述,基本上不是計算而是邏輯判斷。我感覺用圖示更能表示清楚——事實上前面幾張土中已經可以概括出兩個顏色空間屬性坐標的轉換關係了。

  同樣的功能函數可以寫成很多等價的形式,用類 JScript 語句寫可以寫成下面樣子。這是 HSB -> RGB 的轉換函數,是早期從類 C 格式轉寫的(比較簡潔的形式),關鍵就是最後一個長語句,前面的都是鋪墊。這個函數基本上可以直接在網頁中調用。

function hsv2rgb(h, s, v) {
  if (s == 0) {
    if (h == null) return [v, v, v];
    else return null;
    }
  else {
    if (h == 360) h = 0;
    h /= 60;
    var i= Math.floor(h);
    var f= h - i;
    var p= v * (1 - s);
    var q= v * (1 - (s*f));
    var t= v * (1 - (s * (1-f)));
    return [[v,t,p], [q,v,p], [p,v,t], [p,q,v], [t,p,v], [v,p,q]]
;
    }
}
 
 

  【十二】從開始對 HS* 與 RGB 顏色空間的問題發生疑問和興趣,到得到基本清晰的理解,我斷斷續續用了兩年時間。中間不斷被其他問題涉及到而想起,前後有不下十篇筆記,至少十多萬字篇幅討論相關內容,在正確與錯誤、理解與不理解之間顛倒反覆。困難的是沒有相關資料,沒有人討論,甚至沒有用來描述現象和規律的概念,基本是一個盲區。理論的資料不少但是純粹抽像的理論(網上流傳的理論內容也有大量訛誤,難講是正確部分多還是錯誤部分多),不會有人結合到 PhotoShop 具體使用中的複雜變化,而 PhotoShop 的資料又不涉及正規理論。

  想把 Adobe 藏起來的東西挖掘出來,還真是夠刺激。

  上面內容是筆記主要部分,與大家探討切磋,歡迎質疑、批評、指正。因為顏色空間理論的基礎地位,這個問題涉及的範圍極其廣泛,無論在哪個方向上稍加深入,不是一本書也是半本書,而且恐怕會把 PhotoShop 中所有主要內容的問題全勾連進來。為把一個問題說清楚,不能不人為劃定一個界限,到此止步不再深入。寫這篇東西也一樣,不是教程而是討論,但是我相信對於擅長形象思維的藝類朋友來說,這次不會說想不通了吧。

arrow
arrow
    全站熱搜

    紫蓮の翼 發表在 痞客邦 留言(0) 人氣()