一些废话
好久没更新了,前段时间被租房的事弄的够呛。之前好不容易租到了合适的房子,工作也换好了,结果住了没一个月就被政府给强制清退了,又重新去找房、搬家,折腾得整个人都不好了。不过现在总算是稳定下来了,也能静下心来写一些东西了,不管怎么样,生活还得继续呀~
前言
写这篇文章的目的,主要是为了方便大家查找对应的透明度值。曾经的我是拥有一个透明度转十六进制小工具的,而且还是一个萌妹子写的,可惜后来找不到了,索性还是自己弄一个吧。
在开发UI的过程中,我们会遇到各种各样的设计图,设计一般都会给我们标注出字号、颜色、透明度等等,设计一般给的都是一个百分比值,而我们需要转换成十六进制的值。这其中还有一点需要注意,PhotoShop等软件上使用的其实是不透明度,设计给我们的值大多数时候也是不透明度,这和透明度是刚好相反的,需要注意一下。本文也是按照不透明度来转换的。
正文
先把结果放上来:
不透明度对应的十六进制值:
不透明度:0% HEX: 0
不透明度:1% HEX: 3
不透明度:2% HEX: 5
不透明度:3% HEX: 8
不透明度:4% HEX: A
不透明度:5% HEX: D
不透明度:6% HEX: F
不透明度:7% HEX: 12
不透明度:8% HEX: 14
不透明度:9% HEX: 17
不透明度:10% HEX: 1A
不透明度:11% HEX: 1C
不透明度:12% HEX: 1F
不透明度:13% HEX: 21
不透明度:14% HEX: 24
不透明度:15% HEX: 26
不透明度:16% HEX: 29
不透明度:17% HEX: 2B
不透明度:18% HEX: 2E
不透明度:19% HEX: 30
不透明度:20% HEX: 33
不透明度:21% HEX: 36
不透明度:22% HEX: 38
不透明度:23% HEX: 3B
不透明度:24% HEX: 3D
不透明度:25% HEX: 40
不透明度:26% HEX: 42
不透明度:27% HEX: 45
不透明度:28% HEX: 47
不透明度:29% HEX: 4A
不透明度:30% HEX: 4D
不透明度:31% HEX: 4F
不透明度:32% HEX: 52
不透明度:33% HEX: 54
不透明度:34% HEX: 57
不透明度:35% HEX: 59
不透明度:36% HEX: 5C
不透明度:37% HEX: 5E
不透明度:38% HEX: 61
不透明度:39% HEX: 63
不透明度:40% HEX: 66
不透明度:41% HEX: 69
不透明度:42% HEX: 6B
不透明度:43% HEX: 6E
不透明度:44% HEX: 70
不透明度:45% HEX: 73
不透明度:46% HEX: 75
不透明度:47% HEX: 78
不透明度:48% HEX: 7A
不透明度:49% HEX: 7D
不透明度:50% HEX: 80
不透明度:51% HEX: 82
不透明度:52% HEX: 85
不透明度:53% HEX: 87
不透明度:54% HEX: 8A
不透明度:55% HEX: 8C
不透明度:56% HEX: 8F
不透明度:57% HEX: 91
不透明度:58% HEX: 94
不透明度:59% HEX: 96
不透明度:60% HEX: 99
不透明度:61% HEX: 9C
不透明度:62% HEX: 9E
不透明度:63% HEX: A1
不透明度:64% HEX: A3
不透明度:65% HEX: A6
不透明度:66% HEX: A8
不透明度:67% HEX: AB
不透明度:68% HEX: AD
不透明度:69% HEX: B0
不透明度:70% HEX: B3
不透明度:71% HEX: B5
不透明度:72% HEX: B8
不透明度:73% HEX: BA
不透明度:74% HEX: BD
不透明度:75% HEX: BF
不透明度:76% HEX: C2
不透明度:77% HEX: C4
不透明度:78% HEX: C7
不透明度:79% HEX: C9
不透明度:80% HEX: CC
不透明度:81% HEX: CF
不透明度:82% HEX: D1
不透明度:83% HEX: D4
不透明度:84% HEX: D6
不透明度:85% HEX: D9
不透明度:86% HEX: DB
不透明度:87% HEX: DE
不透明度:88% HEX: E0
不透明度:89% HEX: E3
不透明度:90% HEX: E6
不透明度:91% HEX: E8
不透明度:92% HEX: EB
不透明度:93% HEX: ED
不透明度:94% HEX: F0
不透明度:95% HEX: F2
不透明度:96% HEX: F5
不透明度:97% HEX: F7
不透明度:98% HEX: FA
不透明度:99% HEX: FC
不透明度:100% HEX: FF
计算所用的代码如下:
public void printHex() {
System.out.println("不透明度对应的十六进制值:");
for (int i = 0; i <= 100; i++) {
float temp = i * 255f / 100f;
int round = Math.round(temp);
String hex = Integer.toHexString(round);
System.out.println("不透明度:" + i + "%\t" + "HEX: " + hex.toUpperCase());
}
}
写这段代码的时候还顺带了解了一个小的知识点:关于Math.round(float)方法,该方法表示四舍五入,在Math.round(11.5)的时候会返回12,而在Math.round(-11.5)的时候却会返回-11,原因如下:
Math类中提供了三个与取整有关的方法:
- Math.ceil(float)
- Math.floor(float)
- Math.round(float)
这些方法的作用与它们英文名称的含义相对应,例如:ceil的中文意思是天花板,该方法就表示向上取整,Math.ceil(11.2)的结果为12,Math.ceil(-11.6)的结果为-11;floor的中文意思是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果是-12。
Math.round(float)其实现为:Math.floor(a + 0.5f),所以才会出现前面提到的情况,也不用去背什么口诀,记住加0.5然后向下取整就行了。
结语
好了,今天就写到这里吧,我也该睡觉了,太久没写东西了,写起来简直不要太啰嗦,哈哈哈,大家见谅吧。如有错误,欢迎指正。