我正在尝试将RGBA值(4个值拆分)转换为HEX值。
目前,我有这样的代码:
int red = Integer.parseInt(colors[0]);
int green = Integer.parseInt(colors[1]);
int blue = Integer.parseInt(colors[2]);
float alpha = Float.parseFloat(colors[3]);所以现在,我想让这些颜色变成HEX,所以我可以使用这个方法创建一个Color:new ColorDrawable(0xFF99CC00)
有小费吗?
发布于 2013-07-25 09:08:51
发现了:
ActionBar bar = this.getActionBar();
String hex = String.format("#%02x%02x%02x%02x", alpha,red, green, blue);
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor(hex)));发布于 2013-07-25 09:06:06
public int toHex(Color color) {
String alpha = pad(Integer.toHexString(color.getAlpha()));
String red = pad(Integer.toHexString(color.getRed()));
String green = pad(Integer.toHexString(color.getGreen()));
String blue = pad(Integer.toHexString(color.getBlue()));
String hex = "0x" + alpha + red + green + blue;
return Integer.parseInt(hex, 16);
}
private static final String pad(String s) {
return (s.length() == 1) ? "0" + s : s;
}使用
int color = toHex(new Color(1f, 1f, 1f, 1f));或者你可以用
Color.argb(a_int, r_int, g_int, b_int);
//(Multiply int value by 255.0f)发布于 2021-08-11 05:49:32
若要将rgba转换为Hexa颜色:可以使用此函数,rgba值为: rgba(255,249,249,0.54)
fun rgbaToHexa(color: String): String? {
try {
val value = color.removePrefix("rgba(").removeSuffix(")").split(",")
val red = value[0].toInt()
val green = value[1].toInt()
val blue = value[2].toInt()
val hex = String.format("#%02x%02x%02x", red, green, blue)
return hex
} catch (e: Exception) {
loge("exception:${e.printStackTrace()}")
}
return null
}https://stackoverflow.com/questions/17853157
复制相似问题