java十六进制转RGB
时间: 2024-12-19 15:24:30 浏览: 7
在Java中,将十六进制颜色转换为RGB(红绿蓝)格式通常涉及字符串操作和整数解析。以下是一个简单的示例方法:
```java
public static int[] hexToRGB(String hexColor) {
// 检查输入是否为有效的6位或8位十六进制颜色
if (hexColor.length() != 6 && hexColor.length() != 8) {
throw new IllegalArgumentException("Invalid hexadecimal color");
}
// 如果是3字节的短形式,补全为4字节
if (hexColor.length() == 6) {
hexColor = "0" + hexColor;
}
// 将十六进制分割成三个部分,分别代表红色、绿色和蓝色
String r = hexColor.substring(0, 2);
String g = hexColor.substring(2, 4);
String b = hexColor.substring(4, 6);
// 将每部分转换为十进制
int red = Integer.parseInt(r, 16);
int green = Integer.parseInt(g, 16);
int blue = Integer.parseInt(b, 16);
// 返回一个包含RGB值的数组
return new int[]{red, green, blue};
}
```
你可以像这样调用这个方法:
```java
String hex = "#FF0000"; // 十六进制红色
int[] rgbArray = hexToRGB(hex);
System.out.println(Arrays.toString(rgbArray)); // 输出:[255, 0, 0]
```
阅读全文