【问题标题】:How do I convert Color to Hex? [duplicate]如何将颜色转换为十六进制? [复制]
【发布时间】:2012-09-06 19:34:04
【问题描述】:

可能重复:
How to convert a color integer to a hex String in Android?

int c = bitmap.getPixel(x, y);

返回一个 7 或 8 位数字,例如 -14438067 表示绿色。

如何将其转换为十六进制或有意义的东西?我试过 parseColor 但我得到一个例外“不是颜色......”

【问题讨论】:

标签: android


【解决方案1】:

您可以使用 Color 类中的静态方法。 (在这里找到:http://developer.android.com/reference/android/graphics/Color.html

您可以分别提取红色、蓝色、绿色和 alpha 的各个分量。 (分别使用 Color.red(int color)、Color.blue(int color)、Color.green(int color) 和 Color.alpha(int Color) 方法)

对单个组件值使用 Integer.toString(color, 16) 将获得该组件的十六进制字符串表示形式。

【讨论】:

  • 您也可以使用位移,因为组件被指定为 (alpha > 8) & 0xFF 以绿色为例。我只是碰巧发现这些方法更易于使用。
  • 我已经从 getPixel() 得到了那个号码
  • @user521180 如果您有单独的组件,那么您可以使用 Integer.toString(c, 16) 按照 Lukas 的回答中的建议将每个组件转换为十六进制字符串。
猜你喜欢
  • 2019-10-29
  • 1970-01-01
  • 2016-12-27
  • 2016-09-03
  • 2012-05-01
  • 2017-10-30
  • 2012-07-25
  • 2022-08-10
相关资源
最近更新 更多