将RGB颜色转换为HEX颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将RGB颜色转换为HEX颜色相关的知识,希望对你有一定的参考价值。

我使用ImageViewOnTouchListener采取颜色。

可以成功获得红色,绿色,蓝色代码,但我无法将RGB转换为HEX ..

例如:我的rgb值是 R:21

B:16

G:228

和相应的十六进制颜色是#15e410。

我想得到#15e410。从r:21,b:16,g:228

                int pixel = bitmap.getPixel(x,y);             
                int redValue = Color.red(pixel);
                int blueValue = Color.blue(pixel);
                int greenValue = Color.green(pixel);

                int hexa=  Color.rgb(redValue, greenValue, blueValue);


                Toast.makeText(getApplicationContext(),"hexa ::"+hexa ,Toast.LENGTH_LONG).show();
答案

解:

只需使用:

String hex = String.format("#%02x%02x%02x", redValue, greenValue, blueValue);

这会将所有红色,绿色和蓝色值转换为十六进制字符串。

希望能帮助到你。

另一答案

使用Integer.toHexString(color);将整数转换为十六进制字符串。

例:

int color = 0xff334433;
String hex = Integer.toHexString(color);
System.out.println(hex); // this prints - ff334433
另一答案

您将错误的参数发送到String.format函数以获取hexColor。

试试这个:

String hexColor = String.format("#%06X", redValued, greenValue, blueValue);

以上是关于将RGB颜色转换为HEX颜色的主要内容,如果未能解决你的问题,请参考以下文章

Sass/Compass - 将 Hex、RGB 或命名颜色转换为 RGBA

如何将Hex颜色值转换为libgdx颜色?

如何将 RGB 或 HEX 颜色代码分组为更大的颜色组?

使用来自背景颜色的变量从 rgb 转换为 hex

将 RGBA 转换为 HEX

将 Hsl 转换为 rgb 和 hex