【发布时间】:2020-08-16 23:52:43
【问题描述】:
我有 3 个 RGB 值,我想得到代表它们的十六进制 int 值,组合起来。
例如,假设我有R=255, G=30, B=0,这是FF1E00,如何得到等价的int值?
到目前为止,我已经设法从值中获取了一个十六进制字符串FF1E00,但是现在如何获取int 值呢?
// User defined rgb value
int r = 255;
int g = 30;
int b = 0;
// Converts rgb to hex, but in string
String hexString = String.format("%02X%02X%02X", r, g, b);
【问题讨论】:
-
stackoverflow.com/questions/11377944/…(不完全重复,但答案包含解决方案)
-
这能回答你的问题吗? Converting A String To Hexadecimal In Java
-
您的文字描述与代码示例不符。你说你已经有一个十六进制的字符串输入(但是大写并且没有
0x前缀)。但是您的代码以 3 个 RGB 整数值开头。投票结束,因为需要澄清。 -
无论如何,OP,因为您已经拥有了三个组件,您可以在不进行转换的情况下执行
int rgb = r << 16 | g << 8 | b。 -
@SirNUB 当然可以。数字是数字,它不是十六进制数或十进制数。表示仅在字符串的上下文中才有意义。