java – 将RGBA值转换为十六进制颜色代码

前端之家收集整理的这篇文章主要介绍了java – 将RGBA值转换为十六进制颜色代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的应用程序中有一些滑块允许用户更改ARGB颜色,但我需要将这些值转换为十六进制值,如0xff000000,它是纯黑色.

这是我到目前为止:

protected int toHex(Color col) {
    String as = pad(Integer.toHexString(col.getAlpha()));
    String rs = pad(Integer.toHexString(col.getRed()));
    String gs = pad(Integer.toHexString(col.getGreen()));
    String bs = pad(Integer.toHexString(col.getBlue()));
    String hex = "0x" + as + rs + gs + bs;
    return Integer.parseInt(hex,16);
}

private static final String pad(String s) {
    return (s.length() == 1) ? "0" + s : s;
}

但是在获得如下的Integer值后,我得到输入字符串的NumberFormatException:“0xccffffff”:

int color = toHex(new Color(153f,153f,0.80f));

有关如何将其转换为整数的任何想法?谢谢.

最佳答案
Color参数必须在1f和0f之间浮动.所以这是一个有效的颜色:

int color = toHex(new Color(1f,1f,1f));

哪个是白色的.

原文链接:https://www.f2er.com/java/438085.html

猜你在找的Java相关文章