首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将RGB颜色值转换为十六进制字符串

将RGB颜色值转换为十六进制字符串
EN

Stack Overflow用户
提问于 2010-08-31 17:47:39
回答 3查看 114.8K关注 0票数 94

在我的Java应用程序中,我能够获得红、绿、蓝三种颜色的JButtonColor;我已经将这些值存储在三个int中。

如何将这些RGB值转换为包含等效十六进制表示形式的String?例如#0033fA

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-31 17:59:20

您可以使用

代码语言:javascript
复制
String hex = String.format("#%02x%02x%02x", r, g, b);  

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

票数 224
EN

Stack Overflow用户

发布于 2010-08-31 17:54:50

代码语言:javascript
复制
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;
票数 16
EN

Stack Overflow用户

发布于 2021-04-02 20:46:31

即使alpha通道值为零(例如0000ff),也可以将java.awt.Color转换为24位十六进制RGB表示:

代码语言:javascript
复制
String.format("%06x", 0xFFFFFF & Color.BLUE.getRGB())

对于大写字母(例如0000FF):

代码语言:javascript
复制
String.format("%06X", 0xFFFFFF & Color.BLUE.getRGB())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3607858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档