【转】 聊聊Color中的alpha值
转载文章
【转】 聊聊Color中的alpha值
java/awt/Color.java
1 2 3 4 5 6 7 8
| @ConstructorProperties({"red", "green", "blue", "alpha"}) public Color(int r, int g, int b, int a) { value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0) testColorValueRange(r,g,b,a) }
|
alpha
指不透明度,其值范围为0-255,越大越不透明,通常对应opacity,这个就是单词语义表达的不透明度,其值范围[0,1.0f],值越大,越不透明。
opacity与alpha的映射
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 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
|
1 2 3 4 5 6
| int alpha = Math.round(opacity * 255);
String hex = Integer.toHexString(alpha).toUpperCase(); if (hex.length() == 1){ hex = "0" + hex; }
|