1. 程式人生 > >Android顏色透明度(不透明度)計算

Android顏色透明度(不透明度)計算

我們在開發過程中經常看到美工給你的標註顏色類似於#0000FF(藍色)這樣的顏色碼,然後還可能有一個不透明度(美工可能給你說的是透明度,但是這個準確來說是不透明度,下面有圖為證)

PS截圖

那這個不透明度,在Andriod中怎麼表示呢,我來普及一下這個基礎知識

Android中顏色簡介

Android中的顏色值通常遵循RGB/ARGB標準,使用時通常以#字元開頭,以16進製表示。
其中RGB依次代表紅色(Red)、綠色(Green)、藍色(Blue).
ARGB依次代表透明度(Alpha)、紅色(Red)、綠色(Green)、藍色(Blue)

eg:#FF00CC99其中FF是透明度,00是紅色值,CC是綠色值,99是藍色值

不透明度

透明度的範圍是0-255,在計算機中,我們就用16進位制(00-FF)表示,全透明就是00,完全不透明就是FF

透明度和不透明度加起來等於1或者說100%

計算方法

255 * 不透明度 -> 轉換成16進位制數

eg:30%不透明度也就是255*30%=76.5,四捨五入77,然後利用計算器轉為16進製為4D

下面是程式碼計算

public static void main(String[] args) {
        for (int i = 0; i <= 100; i++) {
            float temp = 255 * i * 1.0f / 100
f; int alpha = Math.round(temp); String hexStr = Integer.toHexString(alpha); if (hexStr.length() < 2) hexStr = "0" + hexStr; System.out.println(i + "%, " + hexStr.toUpperCase()); } }

乾貨(懶程式設計師必備)

不透明度 16進製表示
0% 00
1% 03
2% 05
3% 08
4% 0A
5% 0D
6% 0F
7% 12
8% 14
9% 17
10% 1A
11% 1C
12% 1F
13% 21
14% 24
15% 26
16% 29
17% 2B
18% 2E
19% 30
20% 33
21% 36
22% 38
23% 3B
24% 3D
25% 40
26% 42
27% 45
28% 47
29% 4A
30% 4D
31% 4F
32% 52
33% 54
34% 57
35% 59
36% 5C
37% 5E
38% 61
39% 63
40% 66
41% 69
42% 6B
43% 6E
44% 70
45% 73
46% 75
47% 78
48% 7A
49% 7D
50% 80
51% 82
52% 85
53% 87
54% 8A
55% 8C
56% 8F
57% 91
58% 94
59% 96
60% 99
61% 9C
62% 9E
63% A1
64% A3
65% A6
66% A8
67% AB
68% AD
69% B0
70% B3
71% B5
72% B8
73% BA
74% BD
75% BF
76% C2
77% C4
78% C7
79% C9
80% CC
81% CF
82% D1
83% D4
84% D6
85% D9
86% DB
87% DE
88% E0
89% E3
90% E6
91% E8
92% EB
93% ED
94% F0
95% F2
96% F5
97% F7
98% FA
99% FC
100% FF

eg:

UI給出的顏色值為#000000,不透明度為40%。

那麼結合上表,40%不透明度對應的16進位制的值為66,那麼最終顏色值就是#66000000