RGB转十六进制和十六进制转RGB,代码如下:
public class Test {
public static void main(String[] args) {
try{
Color color = new Color(51,0,51);
int r = color.getRed();
int g = color.getGreen();
int b = color.getBlue();
String colorStr = String.format("#%02X%02X%02X", r,g,b);
System.out.println("RGB(51,0,51)转16进制:"+colorStr);
Color newColor = Color.decode(colorStr);
System.out.println("16进制转RGB(51,0,51):"+newColor);
}catch (Exception e){
e.printStackTrace();
}
}
}
备注:解释 %02X
:
X
:代表以16进制形式输出;02
:表示不足两位,前面补0输出;如果超过两位,则实际输出;
如果直接写为 %2x
,数据不足两位时,实际输出,即不额外补0输出; 如果超过两位,则实际输出。
从java-RGB与十六进制的互相转换 / 颜色十进制 / 十六进制 互转_Mars-xq的博客-CSDN博客_java rgb转16进制中得到的启示,一部分是参考这里的,该链接下的比较全面。