【问题标题】:Int RGB to HEX valuesInt RGB 到 HEX 值
【发布时间】:2015-06-16 14:24:51
【问题描述】:

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

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 是预期的文本视图。任何帮助将不胜感激。

(仍然是 java 新手仅供参考)

【问题讨论】:

  • 你也可以使用,colourbbox2.setText(String.format("#%02x%02x%02x", r, g, b));

标签: java android hex rgb getpixel


【解决方案1】:

你可以使用Integer.toHexString()

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      添加到您的 TextView:

      colourbbox2.setText(hexadecimal);
      

      【讨论】:

      • 这很好用,谢谢,请问为什么它的格式像“%02x%02x%02x”这个?我想类似的东西适用于 HSV 转换?
      猜你喜欢
      • 2017-08-04
      • 2016-01-01
      • 2012-12-26
      • 2011-10-04
      • 2015-09-22
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      相关资源
      最近更新 更多