Int RGB到HEX值

时间:2015-04-10 18:49:51

标签: java android hex rgb getpixel

大家好基本上我正在构建一个可以使用相机显示颜色信息的Android应用程序。目前该应用程序正在获取像素信息并在文本视图中显示RGB值。我想扩展它并添加一个可以显示HEX值的textview,但我不确定如何转换它并显示它。我确定需要在下方进行更改...

public void pix(){
        operation= Bitmap.createBitmap(bmp.getWidth(),
                bmp.getHeight(),bmp.getConfig());

        int height = bmp.getHeight();
        int width = bmp.getWidth();
        int p = bmp.getPixel(height / 2, width / 2);

        int r = Color.red(p);
        int g = Color.green(p);
        int b = Color.blue(p);

       // Toast.makeText(this, String.valueOf(r) + String.valueOf(g) + String.valueOf(b), Toast.LENGTH_LONG).show();
        colourbbox1.setText( String.valueOf(r) + String.valueOf(g) + String.valueOf(b));

        colourbbox2.setText( String.valueOf(r) + String.valueOf(g) + String.valueOf(b));

colorbbox2是预期的textview。任何帮助将不胜感激。

(仍然是java新手FYI)

3 个答案:

答案 0 :(得分:1)

您可以使用Integer.toHexString()

colourbbox2.setText(Integer.toHexString(r) + Integer.toHexString(g) + Integer.toHexString(b));

答案 1 :(得分:0)

尝试:String hexColor = String.format( "#%02x%02x%02x", r, g, b );

答案 2 :(得分:0)

将int值转换为十六进制表示:

String hexadecimal = String.format("#%02X%02X%02X", r, g, b);

添加到TextView:

colourbbox2.setText(hexadecimal);