Android 顏色透明度換算

簡介

顏色

Android中的顏色值一般遵循RGB/ARGB標準,使用時一般以「#」字符開頭,以16進製表示。 經常使用的顏色值格式爲:git

#RGB
#ARGB
#RRGGBB
#AARRGGBB

其中,ARGB 依次表明透明度(alpha)、紅色(red)、綠色(green)、藍色(blue)。 以顏色值 #FF99CC00 爲例,其中,FF 是透明度,99 是紅色值, CC 是綠色值, 00 是藍色值。spa

透明度

  1. 透明度分爲256階(0-255),計算機上用16進製表示爲(00-ff)。透明就是0階,不透明就是255階,若是50%透明就是127階(256的一半固然是128,但由於是從0開始,因此其實是127)。code

  2. 透明度 和 不透明度 是兩個概念, 它們加起來是1,或者100%.orm

  3. ARGB 中的透明度alpha,表示的是不透明度。依據來自維基百科中的定義。ci

    The alpha channel is normally used as an opacity channel. If a pixel has a value of 0% in its alpha channel, it is fully transparent (and, thus, invisible), whereas a value of 100% in the alpha channel gives a fully opaque pixel (traditional digital images). Values between 0% and 100% make it possible for pixels to show through a background like a glass, an effect not possible with simple binary (transparent or opaque) transparency. It allows easy image compositing.開發

換算

在開發過程當中,UI/UE給的標註圖上,全部顏色值是RGB,可是透明度常常都是百分比,例如:顏色值:#FFFFFF,透明度40%。 使用過程當中咱們須要進行換算。以以前的值爲例,換算過程以下:it

  1. 將透明度轉換成不透明度(轉換方式參考「透明度」,第2條) 。 不透明度爲60%
  2. 不透明度乘以255。 咱們獲得結果:153
  3. 將計算結果轉換成16進制。獲得最終的不透明度:99
  4. 將不透明度和顏色值拼接成ARGB格式。獲得最終的顏色值: #99FFFFFF

簡單的換算,能夠先將透明度,轉換成不透明度,再根據下面的表格進行對應。io

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00
相關文章
相關標籤/搜索