2015-04-04 64 views
1

我試圖用CSS表示顯示在LED上的顏色。顯然,使用RGBa的背景屬性很容易,但顯然黑色不能用LED表示。使用CSS表示LED顏色

讓我們用紅色作爲一個例子:

對於LED,在全亮度,LED會顯示爲紅色。但是,隨着值從255下降到0,它與透明度下降類似。

因此RGB(0, 0, 0)的表示應該是透明背景,而不是黑色。但是,我不完全確定如何解決這個問題?

回答

2

那麼爲什麼不使用rgba然後減少alpha分量呢?

爲全亮度

background-color: rgba(255,0,0,1); 

和關閉時

background-color: rgba(255,0,0,0); 

阿爾法可以改變01之間

+0

但是,當同時混合所有三種顏色的顏色不起作用,因爲你不能單獨控制不透明度(你能嗎?) – CircularRecursion 2015-04-04 17:27:42

+0

@cheechm不知道你的意思。你可以設置不透明度。如果使用動畫/過渡,只需更改不透明度即可更改兩個關鍵幀之間的不透明度。 – 2015-04-04 17:52:34

+0

但是,您無法爲每種顏色單獨設置不透明度。 0處的所有三種顏色應該用透明表示。 – CircularRecursion 2015-04-04 23:43:56

0

我想你所談論的模擬有一個紅色的LED,綠色和藍色的組件,並且你不能用alpha控制所有3,因爲3色組件只有一個alpha通道onents。

幸運的是,您可以模擬正確的行爲。

假設背景顏色的紅色成分是0.2。這意味着您的LED紅色組件必須將其0-1值映射到0-0.8並將其添加到0.2的背景色。當紅色組件關閉時,紅色將爲0.2,當紅色組件完全打開時,紅色將爲1.0。

對綠色和藍色重複此操作,您將獲得生成的RGB顏色,而不需要使用alpha。

+0

我不完全確定我明白。如果紅色LED熄滅,那麼紅色分量將爲零,在CSS RGB條款中,紅色分量表示十六進制00,然而,如果LED指示燈熄滅,則表示alpha爲0. – CircularRecursion 2015-04-04 23:26:48

+0

當紅色指示燈熄滅,你會看到背景的紅色。打開紅色LED只會增加紅色到已經存在的地方(將其限制在1.0或全紅)。重複綠色和藍色,你有一個三色LED設置 – 2015-04-04 23:29:11

+0

我的問題是當沒有顏色 - 如果使用RGB與背景顏色,則用黑色表示,但如果使用RGB,則應將其表示爲「透明」。 – CircularRecursion 2015-04-04 23:41:49