颜色值透明度的百分数对应十六进制表

目录

颜色简介

1. 透明度的计算

2,透明度和不透明度的转换

3,透明度对应的十六进制值

4,不透明度对应的十六进制值

颜色简介

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。

常用的颜色值格式为:

#RGB

#ARGB

#RRGGBB

#AARRGGBB

其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF66CC99 为例,其中,FF 是透明度,66 是红色值, CC 是绿色值, 99是蓝色值。

1. 透明度的计算

a,透明度分为256个等级,即 0 - 256,0就是透明,255就是不透明,透明度 0(透明) –> 255(不透明) 对应着16进制 00(透明) –> FF(不透明),比如:50%透明度;50%也就是256的一半即128,因为是从0开始算的,所以是 127,转换成16进制就是 7F

b,透明度 和 不透明度 是两个概念, 它们加起来是1,或者100%.

c,ARGB 中的透明度alpha,表示的是不透明度。

2,透明度和不透明度的转换

需要不透明度值的,可以自己算:透明度值 + 不透明度值 = 100%

如果UI给的视觉稿标注是:颜色#FFFFFF,透明度40% 。那你的计算方式应该是:

a,将透明度转换成不透明度。不透明度为:60%

b,不透明度乘以255。 我们得到结果:153

c,将计算结果转换成16进制。得到最终的不透明度:99

d,将不透明度和颜色值拼接成ARGB格式。得到最终的颜色值: #99FFFFFF

所以,UI要的颜色是:#99FFFFFF

3,透明度对应的十六进制值

//java代码生成的对应表

for (int i = 100; i>=0; i--) {

double j = (i / 100.0d);

int alpha = (int) Math.round(255-j * 255);

String hex = Integer.toHexString(alpha).toUpperCase();

if (hex.length() == 1) hex = "0" + hex;

int percent = (int) (j*100);

System.out.println(String.format("%d%% — %s", percent, hex));

}

透明度 16进制表示

100% 00(全透明)

99% 03

98% 05

97% 07

96% 0A

95% 0D

94% 0F

93% 12

92% 14

91% 17

90% 1A

89% 1C

88% 1E

87% 21

86% 24

85% 26

84% 29

83% 2B

82% 2E

81% 30

80% 33

79% 36

78% 38

77% 3B

76% 3D

75% 40

74% 42

73% 45

72% 47

71% 4A

70% 4D

69% 4F

68% 52

67% 54

66% 57

65% 59

64% 5C

63% 5E

62% 61

61% 63

60% 66

59% 69

58% 6B

57% 6E

56% 70

55% 73

54% 75

53% 78

52% 7A

51% 7D

50% 80

49% 82

48% 85

47% 87

46% 8A

45% 8C

44% 8F

43% 91

42% 94

41% 96

40% 99

39% 9C

38% 9E

37% A1

36% A3

35% A6

34% A8

33% AB

32% AD

31% B0

30% B3

29% B5

28% B8

27% BA

26% BD

25% BF

24% C2

23% C4

22% C7

21% C9

20% CC

19% CF

18% D1

17% D4

16% D6

15% D9

14% DB

13% DE

12% E0

11% E3

10% E6

9% E8

8% EB

7% ED

6% F0

5% F2

4% F5

3% F7

2% FA

1% FC

0% FF(完全不透明)

4,不透明度对应的十六进制值

for (double i = 1; i >= 0; i -= 0.01) {

i = Math.round(i * 100) / 100.0d;

int alpha = (int) Math.round(i * 255);

String hex = Integer.toHexString(alpha).toUpperCase();

if (hex.length() == 1) hex = "0" + hex;

int percent = (int) (i * 100);

System.out.println(String.format("%d%% — %s", percent, hex));

}

不透明度—十六进制值

100% — FF(完全不透明)

99% — FC

98% — FA

97% — F7

96% — F5

95% — F2

94% — F0

93% — ED

92% — EB

91% — E8

90% — E6

89% — E3

88% — E0

87% — DE

86% — DB

85% — D9

84% — D6

83% — D4

82% — D1

81% — CF

80% — CC

79% — C9

78% — C7

77% — C4

76% — C2

75% — BF

74% — BD

73% — BA

72% — B8

71% — B5

70% — B3

69% — B0

68% — AD

67% — AB

66% — A8

65% — A6

64% — A3

63% — A1

62% — 9E

61% — 9C

60% — 99

59% — 96

58% — 94

57% — 91

56% — 8F

55% — 8C

54% — 8A

53% — 87

52% — 85

51% — 82

50% — 80

49% — 7D

48% — 7A

47% — 78

46% — 75

45% — 73

44% — 70

43% — 6E

42% — 6B

41% — 69

40% — 66

39% — 63

38% — 61

37% — 5E

36% — 5C

35% — 59

34% — 57

33% — 54

32% — 52

31% — 4F

30% — 4D

29% — 4A

28% — 47

27% — 45

26% — 42

25% — 40

24% — 3D

23% — 3B

22% — 38

21% — 36

20% — 33

19% — 30

18% — 2E

17% — 2B

16% — 29

15% — 26

14% — 24

13% — 21

12% — 1F

11% — 1C

10% — 1A

9% — 17

8% — 14

7% — 12

6% — 0F

5% — 0D

4% — 0A

3% — 08

2% — 05

1% — 03

0% — 00(全透明)

————————————————

原文链接:https://blog.csdn.net/ezconn/article/details/90052114

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息