天天看點

Android 顔色透明度換算 顔色簡介 透明度 如何換算 幹貨 例子:

每次開發的時候,UI在設計圖中标注的顔色都是類似于#FF0000(紅色),這倒沒什麼,但是呢後面卻标注了30%的透明度,這下抓狂了,透明度怎麼計算?不用着急,不用你算,收藏我這篇文章即可。

顔色簡介

Android中的顔色值通常遵循RGB/ARGB标準,使用時通常以“#”字元開頭,以16進制表示。

常用的顔色值格式為:

  1. #RGB
  2. #ARGB
  3. #RRGGBB
  4. #AARRGGBB

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

透明度

  1. 透明度分為256階(0-255),計算機上用16進制表示為(00-ff)。透明就是0階,不透明就是255階,如果50%透明就是127階(256的一半當然是128,但因為是從0開始,是以實際上是127)。
  2. 透明度 和 不透明度 是兩個概念, 它們加起來是1,或者100%.
  3. ARGB 中的透明度alpha,表示的是不透明度。

如何換算

UI給出的顔色是#FFFFFF,透明度為40%。

換算過程:

  1. 将透明度轉換成不透明度(轉換方式參考“透明度”,第2條) 。不透明度為60%
  2. 不透明度乘以255。 我們得到結果:153
  3. 将計算結果轉換成16進制。得到最終的不透明度:99
  4. 将不透明度和顔色值拼接成ARGB格式。得到最終的顔色值: #99FFFFFF

幹貨

我知道大家都在等最終的結果,肯定不會去自己算的,那就來點實際吧

透明度 16進制表示
100% 00
95   % 0D
90   % 1A
85   % 26
80   % 33
75   % 40
70   % 4D
65   % 59
60   % 66
55   % 73
50   % 80
45   % 8C
40   % 99
35   % A6
30   % B3
25   % BF
20   % CC
15   % D9
10   % E6
5     % F2
0     % FF

說明:如果UI給出16進制的顔色值,那麼透明度就按照上面的表格對應,将對應的透明度的16進制添加值UI給定的顔色值前,即可大功告成!!!還是說個例子吧,免得不了解.

例子:

UI給出的顔色值為#FF0000,透明度30%。

結合上表,30%的透明度16進制的值為 B3,那麼最終的顔色值為 #B3FF0000.

繼續閱讀