【图片】JAVA hex转rgba颜色
/**
* 十六进制转 RGB
* 包含透明色
* @param hexColor #BBFFFFCC 或者 BBFFFFCC
* 同样支持
* #BBFFFF0.5 代表50%透明
* #BBFFFF255 代表不透明
* @return r=187,g=255,b=255
*/
public static Color HexToRGBConverter(String hexColor){
hexColor = hexColor.trim();
if(hexColor.indexOf("#") != 0){
hexColor = "#" + hexColor;
}
// 将十六进制颜色值转换为RGB值
int red = Integer.valueOf(hexColor.substring(1, 3), 16); // 提取红色值
int green = Integer.valueOf(hexColor.substring(3, 5), 16); // 提取绿色值
int blue = Integer.valueOf(hexColor.substring(5, 7), 16); // 提取蓝色值
int alpha = 255;
if(hexColor.length() >= 10){
//支持 0.5 这种的
String substring = hexColor.substring(7, 10);
Double a = NumberUtil.parseDouble(substring.trim());
//转换为 255类型
if(a <= 1){
alpha = (int) (a * 255 + 0.5);
}else{
alpha = a.intValue();
}
} else if(hexColor.length() == 8) {
alpha = 1;
} else if(hexColor.length() == 9) {
alpha = Integer.valueOf(hexColor.substring(7, 9), 16); // 提取透明值
}
return new Color(red,green,blue,alpha);
}