var text = document.getElementById('text');
for (var i = 1; i >= 0; i -= 0.01) {
i = Math.round(i * 100) / 100;
var alpha = Math.round(i * 255);
var hex = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();
var perc = Math.round(i * 100);
text.innerHTML += perc + "% — " + hex + " (" + alpha + ")</br>";
}
int Color.argb (int alpha, int red, int green, int blue)
alpha Alpha component [0..255] of the color
red Red component [0..255] of the color
green Green component [0..255] of the color
blue Blue component [0..255] of the color
7 回答
如果提供6个十六进制数字,则表示RGB(红色,绿色和蓝色的每个值为2个十六进制数字) .
如果您提供8个十六进制数字,则它是ARGB(分别为alpha,red,green和blue的每个值的2个十六进制数字) .
所以通过删除最后的55你从A = B4变换,R = 55,G = 55,B = 55(一个大多数是透明的灰色),到R = B4,G = 55,B = 55(完全非 - 透明昏暗的小指) .
有关支持的格式,请参阅"Color" documentation .
Android使用十六进制ARGB值,格式为#AARRGGBB . 第一对字母AA代表alpha通道 . 您必须将十进制不透明度值转换为十六进制值 . 以下是步骤:
Alpha Hex Value Process
将您的不透明度作为十进制值并乘以255.因此,如果您有一个50%不透明的块,则十进制值将为.5 . 例如:.5 x 255 = 127.5
分数不会转换为十六进制,因此您必须将数字向上或向下舍入到最接近的整数 . 例如:127.5轮到128; 55.25轮到55 .
在十进制到十六进制转换器中输入您的小数值,如http://www.binaryhexconverter.com/decimal-to-hex-converter,并转换您的值 .
如果只返回单个值,则在其前面加零 . 例如,如果你正在经历这个过程,你将得到十六进制值D.在它前面添加一个零,使它显示为0D .
这就是你找到alpha通道值的方法 . 我冒昧地为你整理了一系列 Value 观 . 请享用!
Hex Opacity Values
100% - FF
95% - F2
90% - E6
85% - D9
80% - CC
75% - BF
70% - B3
65% - A6
60% - 99
55% - 8C
50% - 80
45% - 73
40% - 66
35% - 59
30% - 4D
25% - 40
20% - 33
15% - 26
10% - 1A
5% - 0D
0% - 00
从@BlondeFurious中得到答案,这里有一些Java代码可以将每个十六进制值从100%变为0%alpha:
输出:
JavaScript版本如下:
你也可以只谷歌“数字到十六进制”,其中'数字'是0到255之间的任何值 .
Android Material Design
这些是用于设置文本颜色不透明度级别的转换 .
100%:FF
87%:DE
70%:B3
54%:8A
50%:80
38%:61
12%:1F
浅色背景上的暗文本
主要文字:
DE000000
中学文字:
8A000000
禁用文本,提示文本和图标:
61000000
分隔符:
1F000000
深色背景上的白色文字
主要文字:
FFFFFFFF
中学文字:
B3FFFFFF
禁用文本,提示文本和图标:
80FFFFFF
分隔符:
1FFFFFFF
另见
在Android上,颜色可以指定为RGB或ARGB .
http://en.wikipedia.org/wiki/ARGB
在RGB中,每种颜色(红色,绿色,蓝色)都有两个字符,而在ARGB中,alpha通道有两个额外的字符 .
所以,如果你有8个字符,它是ARGB,前两个字符指定alpha通道 . 如果你删除前两个字符,它只有RGB(纯色,没有alpha /透明度) . 如果要在Java源代码中指定颜色,则必须使用:
参考:argb
8位十六进制颜色值表示ARGB(Alpha,红色,绿色,蓝色),而6位数值仅假设100%不透明度(完全不透明)并仅定义RGB值 . 因此,要使其完全不透明,您可以使用#FF555555,或只使用#555555 . 每个2位十六进制值是一个字节,表示0-255的值 .
在新的Chrome版本(可能是67.0.3396.62),CSS十六进制颜色可以使用此模型显示,
例如:
cc 是不透明度, but old chrome not support that mod