如果我有一个Color
对象,我怎样才能将它的RGB值转换为十六进制整数?我一直在寻找年龄,我发现所有的都是“Hexadecimal to RGB”,或者它不返回Integer值,或者其他我不想要的东西。
我希望它将十六进制作为int
值返回,而不是字符串或其他任何内容。有人可以帮忙吗?
这是我的代码,我需要将颜色转换为十六进制,使用某人的答案尝试转换它:
public static void loadImageGraphics(BufferedImage image, int x, int y, int width, int height) {
for(int yy = 0; yy < height; yy++) {
for(int xx = 0; xx < width; xx++) {
Color c = new Color(image.getRGB(xx, yy));
pixels[x + y * width] = c.getRed() * (0xFF)^2 + c.getGreen() * 0xFF + c.getBlue();
}
}
}
谢谢!
答案 0 :(得分:3)
此实用程序功能对我来说很好:
public static String convertColorToHexadeimal(Color color)
{
String hex = Integer.toHexString(color.getRGB() & 0xffffff);
if(hex.length() < 6)
{
if(hex.length()==5)
hex = "0" + hex;
if(hex.length()==4)
hex = "00" + hex;
if(hex.length()==3)
hex = "000" + hex;
}
hex = "#" + hex;
return hex;
}
答案 1 :(得分:0)
您可以使用此智能代码行。
String hexColor = String.format(“#%02x%02x%02x”,158,255,168);
String hexColor = String.format(“#%02x%02x%02x”,R,G,B);