透明ARGB十六进制值

表中的颜色均不透明。我猜测A的值被设置为FF

透明度的代码是什么?

例如这个颜色FFF0F8FF(AliceBlue),转换为透明代码,例如??F0F8FF

696135 次浏览

透明度由Alpha通道控制(AA#AARRGGBB中)。最大值(255 Dec,FF hex)表示完全不透明。最小值(0 Dec,00 hex)表示完全透明。中间的值是半透明的,即颜色与背景颜色混合。

要获得完全透明的颜色,请将Alpha设置为零。在这种情况下,RRGGBB是不相关的,因为没有颜色可见。这意味着#00FFFFFF(“透明白色”)与#00F0F8FF(“透明AliceBlue ”)的颜色相同。 为了保持简单,如果颜色无关紧要,则选择黑色(#00000000)或白色(#00FFFFFF)。

在您链接的表中,您会发现Transparent被定义为#00FFFFFF

下面是%到十六进制值的表格:

例子:对于85%的白色,您将使用#D9FFFFFF此处85%=“ D9 ”&;白色=“ FFFFFF ”


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

它是如何计算的?

FF是以十六进制模式写入的数字。那个数字在十进制中代表255。例如,如果你想要42%来计算,你需要找到数字255的42%,并将该数字转换为十六进制。255*0.42~=107 107到十六进制是6B -马莱塔

将@Maleta在“https://stackoverflow.com/a/28481374/1626594Alpha*255,然后四舍五入,再转换为十六进制 ”的评论中所解释的内容添加到其他答案中,而不做更多的事情。这是ABC_2的快速转换_。

function rgb2hex(rgb) {
var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i);
if (rgbm && rgbm.length === 5) {
return "#" +
('0' + Math.round(parseFloat(rgbm[4], 10) * 255).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
} else {
var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
if (rgbm && rgbm.length === 4) {
return "#" +
("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
} else {
return "cant parse that";
}
}
}


$('button').click(function() {
var hex = rgb2hex($('#in_tb').val());
$('#in_tb_result').html(hex);
});
body {
padding: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Convert RGB/RGBA to hex #RRGGBB/#AARRGGBB:<br>
<br>
<input id="in_tb" type="text" value="rgba(200, 90, 34, 0.75)"> <button>Convert</button><br>
<br> Result: <span id="in_tb_result"></span>

就用这个:

android:background="#00FFFFFF"

它会做你的工作。

如果你有你的十六进制值,并且你只是想知道阿尔法的值是什么,这个片段可能会有帮助:

const alphaToHex = (alpha => {
if (alpha > 1 || alpha < 0 || isNaN(alpha)) {
throw new Error('The argument must be a number between 0 and 1');
}
return Math.ceil(255 * alpha).toString(16).toUpperCase();
})


console.log(alphaToHex(0.45));

注意

HTML/CSS(浏览器代码)中,格式是#RRGGBBAA,Alpha通道作为最后两个十六进制数字。

刚刚遇到这个,透明度的简短代码只是#00000000。

标准

的十六进制颜色代码有六个字符,例如#000000-黑色,而超过六个字符的十六进制颜色代码(可能有8个字符,例如#82BC00-绿色)超过了标准数量,使最后两个字符定义透明度级别。 因此,如果你需要获得绝对的透明度,你可以将00添加到任何十六进制颜色,但为了均匀,你可以只使用#00000000

.green{
background: #82bc00      /*actual green*/
}
.subgreen{
background: #82bc0070    /*green with little transparency*/
}
.greenparency{
background: #82bc0040    /*green with much transparency*/
}
.transparency{
background: #82bc0000    /*full transparency over green*/
}
<div class="green"> green background color </div>
<div class="subgreen"> green background color </div>
<div class="greenparency"> green background color </div>
<div class="transparency"> green background color </div>