将RGB颜色值转换为十六进制

在我的Java应用程序中,我能够根据红色,绿色和蓝色值获得JButton颜色的值; 我用三个整数存储了这些值。

如何将RGB值转换为等效的十六进制值?

这种格式的#0033fA


您可以使用

String hex = String.format("#%02x%02x%02x", r, g, b);  

如果您希望将生成的十六进制数字大写( #FFFFFF#ffffff ),请使用大写X。


一个班轮,但没有String.format:

Color your_color = Color.BLACK;

String hex = "#"+Integer.toHexString(your_color.getRGB()).substring(2);

如果你想切换到大写字母,你可以添加一个.toUpperCase()


Random ra = new Random();
int r, g, b;
r=ra.nextInt(255);
g=ra.nextInt(255);
b=ra.nextInt(255);
Color color = new Color(r,g,b);
String hex = Integer.toHexString(color.getRGB() & 0xffffff);
if (hex.length() < 6) {
    hex = "0" + hex;
}
hex = "#" + hex;
链接地址: http://www.djcxy.com/p/87795.html

上一篇: Convert a RGB Color Value to a Hexadecimal

下一篇: Generate colors between red and green for a power meter?