(转发仅作记录)颜色值之间的进制转换

转载地址:
https://blog.csdn.net/richiezhu/article/details/53688871
https://blog.csdn.net/weixin_35861115/article/details/120621367
透明度百分比 对应16进制颜色值

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

透明度从十六进制字符串转换成十进制字符串

    public static String SixTweenToTen(String max){
 
        int h = Integer.parseInt(max, 16);
 
        return String.valueOf(h);
    }

透明度从百分比到十进制

public static String PercentToTen(String percent) {
        Double i = Double.valueOf(percent) / 100.0d;
        int alpha = (int) Math.round(i * 255);
        return String.valueOf(alpha);
    }

透明度从十进制到百分比

public static String TenToPercent(String ten) {
        //取小数点后面两位
        DecimalFormat decimalFormat = new DecimalFormat(".00");
        //十进制小数四舍五入
        String i = decimalFormat.format(Double.valueOf(ten) / 255);
        //百分比数
        Double alpha = Double.valueOf(i) * 100.0d;
        //使用java正则表达式去掉多余的.与0
        return FileUtils.subZeroAndDot(String.valueOf(alpha));
    }
 /**
     * 使用java正则表达式去掉多余的.与0
     * @param s
     * @return
     */
    public static String subZeroAndDot(String s){
        if(s.indexOf(".") > 0){
            s = s.replaceAll("0+?$", "");//去掉多余的0
            s = s.replaceAll("[.]$", "");//如最后一位是.则去掉
        }
        return s;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值