当前位置: 首页 > 知识库问答 >
问题:

如何将十六进制颜色转换成浮点数0-1?

赖诚
2023-03-14

我需要处理一个十六进制字符串值到浮动颜色。

真正的颜色是(RGBA格式

{ 0.63671875f, 0.76953125f, 0.22265625f, 1.0f }

是绿色的,当0相当于00,1是FF。但是需要将颜色转换为0-255十进制数来计算从0到255的百分比,并设置浮点值。

如何通过示例#AABBCCFF转换为浮点数组?

当parsecolor i有整数值时:

Color.parseColor("#AABBCCFF");

但是如何将整数转换为浮点中的每种颜色呢?红、绿、蓝、阿尔法

共有1个答案

岳玉书
2023-03-14

我提出解决方案:

private float[] getFloatArrayFromARGB(String argb){
    int color_base = Color.parseColor(argb);
    int red = Color.red(color_base);
    int green = Color.green(color_base);
    int blue = Color.blue(color_base);
    int alpha = Color.alpha(color_base);

    return new float[]{
            (red / 255f),
            (green / 255f),
            (blue / 255f),
            (alpha / 255f)
    };
}

使用:

String argb = "#FFFF0000";
float[] color = this.getFloatArrayFromARGB(argb);
GLES20.glUniform4fv(mColorHandle, 1, color, 0);

:D现在使用ARGB格式来绘制三维物体

 类似资料:
  • 问题内容: 我必须将,以s 表示(例如)转换为浮点值( IEEE-754 转换)。我没有使用strconv.ParseFloat函数做到这一点。还有什么我要用的吗?到目前为止我找不到。我也尝试先将其转换为整数,然后转换为浮点数,但结果是错误的。 我最后一次尝试的代码: 问题答案: 首先,需要说明输入的位长。由于十六进制表示形式有4个字节(8个十六进制数字),因此很可能是a (需要询问者澄清)。 您

  • 问题内容: 如何在Python中将以下十六进制字符串转换为float(单精度32位)? 问题答案: 在 Python 3中 : 在 Python 2中 :

  • 这就是我所做的 这将返回一个字符串“0XFFhexcode”,我想将其转换为long,将其存储,然后将其用作颜色 我有以下错误

  • 本文向大家介绍Flutter十六进制颜色转换成颜色对象,包括了Flutter十六进制颜色转换成颜色对象的使用技巧和注意事项,需要的朋友参考一下 十六进制颜色值格式一般如:#ff0000,以#开头,后面跟着6个十六进制字符。 而flutter中不能直接使用此类形式的颜色值,所以必须要转换为flutter颜色对象。 参考地址: https://stackoverflow.com/questions/5

  • 问题内容: 我在该主题上找到的所有内容都只是将十六进制转换为rgb,然后添加一个Alpha1。我也想从十六进制数字中获得所需的Alpha。 诸如或明显具有不为0或1的Alpha值的颜色。 问题答案: 我已经制作了一个快速的JSfiddle表格,可以将8位十六进制代码转换为CSS rgba值;) 基础很简单-将您提供的字符串分成两位数的一部分,并转换为alpha通道的百分比率和RGB通道的小数位。标

  • 问题内容: 我正在从服务器接收十六进制颜色值(以这种形式,例如黑色) 如何将其转换为整数值? 我试图做一个更疯狂的结果,但这不是这里的解释,还有其他建议吗? 我收到一个错误: 我正在使用Android SDK来执行其功能,该功能需要-您可能已经猜到了-整数颜色值。 问题答案: 真正的答案是使用: 在Android中,其值为或或。 但是,此功能不支持诸如的速记十六进制值。