gpt4 book ai didi

java - 如何在Java中将RGB颜色转换为十六进制

转载 作者:行者123 更新时间:2023-12-02 01:00:43 25 4
gpt4 key购买 nike

我到处寻找,但找不到合适的解决方案。

我有一个 RGB 颜色,我想将其转换为以下格式:0xffffffff

许多答案将其转换为以下格式:#ffffff

有人知道如何将其转换为这种格式(0xffffffff)吗?

编辑:解决了!我实际上需要一个 int,但我不小心说了 string,woopsie。看来现在可以工作了,谢谢!

片段:

double frequency = .3;
double r = 255;
double g = 255;
double b = 255;
for (int i = 0; i < 32; ++i)
{
// I am trying to make a rainbow, hence this for loop and the Math.sin
r = Math.sin(frequency*i + 0) * 127 + 128;
g = Math.sin(frequency*i + 2) * 127 + 128;
b = Math.sin(frequency*i + 4) * 127 + 128;
int red = (int)r;
int green = (int)g;
int blue = (int)b;

// converting, outputs a string

System.out.println(result);
}

最佳答案

如果您希望数字不是字符串,而是int:

<小时/>
0xRRGGBB

RRGGBB 各自表示 0 - 255 之间的值(RGB 值)。十六进制数字的每个数字的值范围为 0 - 16,这意味着您需要存储最多 16 ^ 6 = 16.777.216 -> dataype int应该没问题。
然后只需使您的 int:

int hexval = red * 65536 + green * 256 + blue;

<小时/>您可以选择输出它:

System.out.printf("0x%06X\n", hexval);

关于java - 如何在Java中将RGB颜色转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60684291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com