2014-02-26 33 views
0

只是一個簡短的解釋,我是如何來到這個問題。我有一個紅寶石模塊,它基本上是一個給我HTML「顏色」的散列,比如「slateblue」,並且給我一個包含R,G,B值的數組,像slateblue的[106,90,205]。顏色 - R,G,B值。讓人眼看起來顏色「更輕」。有人可以向我解釋這個嗎?

我搜索瞭如何使這些R,G,B值變成較淺的顏色(鼠標光標懸停效果),還有幾個人告訴其他人他們有類似的問題時只是增加R,G,B值。我當前的解決方案是一種黑客攻擊,它將添加到R,G,B值中,例如+20(上限爲255),然後將其轉換爲#FF0000的十六進制字符串。

這似乎工作okish,但現在這是事情 - 我完全不理解爲什麼這個工程。

它是這樣的,0總是表示R/G/B的最低值,255最高?如果是這樣,爲什麼它在255上限,而不是,不知道,1024或其他任意數字?

+0

您是否閱讀過http://en.wikipedia.org/wiki/RGB? (在該頁面上快速「查找」將揭示255.的重要性) –

回答

1

使用每個顏色通道8位(紅色,綠色和藍色各一個)產生大量顏色(2^24或16777216),足以在大多數應用中使用。請注意,其他顏色格式,但精度更高。

0用於黑色,而255(最大存儲爲8位)表示「全開」顏色。

向每個通道添加一個特定數字會將整個顏色移向(255,255,255)或白色。如果您想要更加精確地減輕顏色,可以嘗試將RGB顏色轉換爲HSL,僅添加到光源組件,然後再轉換回RGB。

您可以在此處開始HSL的研究:http://en.wikipedia.org/wiki/HSL_and_HSV

相關問題