有时在Android的示例中,我看到使用#FF191919进行着色,这是一个八位十六进制数。但实际上只需要使用六位数。它们之间有什么关系呢?
如果我想将一个六位数字转换为八位数字,该怎么做?比如将#424242转换成八位数字颜色代码,具体细节是什么?
如果我想将一个六位数字转换为八位数字,该怎么做?比如将#424242转换成八位数字颜色代码,具体细节是什么?
前两个字符表示 alpha(透明度)值,其中FF表示完全可见。这被称为ARGB。
#FF000000
和#000000
是一样的,它们都代表纯黑色吗? - Bruno Finger这个八位颜色值包含一个透明度级别。
让我们来提取一下。我们将六个值对的RGB值定义为十六进制颜色。
如果你想设置透明度级别,那么它就用八位数来定义,形式为ARGB。
现在,前两个数字的值代表透明度,其余数字代表RGB值。
八位十六进制符号的操作方式与六位符号相同,即提供一个六位十六进制值,并加上井号(#)作为前缀。
不同之处在于,八位符号如其名称所示,添加了两个数字。这两个数字代表了颜色的Alpha通道。
Alpha通道由最后两位数字表示。
这对数字被解释为十六进制数(就像其他数字一样)。值为00
代表完全透明的颜色,值为FF
代表完全不透明的颜色。
因此,如果要使用完全不透明的颜色,请执行以下操作:Color(0xFF<your-6digit-code>)
例如,如果您有一个六位码:E64526
,现在将其转换为八位码:Color(0xFFE64526)