ChatGPT解决这个技术问题 Extra ChatGPT

透明 ARGB 十六进制值

this 表中的颜色都是不透明的。我猜 A 的值设置为 FF

透明度的代码是什么?

例如这个颜色 FFF0F8FF (AliceBlue),到一个透明的代码,比如 ??F0F8FF

最后,有一种方法可以为某些浏览器使用十六进制代码设置透明颜色(新功能)。请看一下stackoverflow.com/a/60876347/2457251

S
Shivaraj Patil

这是 % 到十六进制值的表:

示例:对于 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


你怎么计算这个?
@SaeedJassani FF 是以十六进制模式编写的数字。该数字以十进制表示 255。例如,如果要计算 42%,则需要找到数字 255 的 42% 并将该数字转换为十六进制。 255 * 0.42 ~= 107 107 到十六进制是“6B”
@Maleta 非常感谢
R
Robert

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

要获得完全透明的颜色,请将 alpha 设置为零。 RRGGBB 在这种情况下无关紧要,因为看不到任何颜色。这意味着 #00FFFFFF(“透明白色”)与 #00F0F8FF(“透明 AliceBlue”)颜色相同。为简单起见,如果颜色无关紧要,可以选择黑色 (#00000000) 或白色 (#00FFFFFF)。

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


假设我需要 50% 的不透明度。 50% 不透明度/透明的白色代码是什么?
@user3332579:50% 是 7F。将您的计算器置于十六进制模式,它会为您解决问题。
@user3332579:所以 50% 的白色是 #7FFFFFFF
格式为#RRGGBBAA Hex8(或#RGBA in Hex4)和NOT #AARRGGBB(或#ARGB)我在Chrome 62,63,64 中测试过参考CanIUse.comhttps://css-tricks.com/8-digit-hex-codes/,{ 3}
@SGSSandhu 这个问题不是针对CSS的。再看问题,格式是ARGB。
C
Community

添加到其他答案中,除了 @Maleta 在 https://stackoverflow.com/a/28481374/1626594 的评论中解释的内容之外,只做 alpha*255 然后四舍五入到十六进制。这是一个快速转换器http://jsfiddle.net/8ajxdLap/4/

函数 rgb2hex(rgb) { var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\ s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+] ?\)/一世); 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 "不能解析那个"; } } } $('button')。 click(function() { var hex = rgb2hex($('#in_tb').val()); $('#in_tb_result').html(hex); }); body { padding: 20px; } 将 RGB/RGBA 转换为十六进制 #RRGGBB/#AARRGGBB:



结果:


B
Bernoulli IT

请注意👇🏼

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


A
Aditya Singh Rajput

只需使用这个:

机器人:背景=“#00FFFFFF”

它会做你的工作。


R
Raphael Aleixo

如果您有十六进制值,并且您只是想知道 alpha 的值是多少,则此代码段可能会有所帮助:

const alphaToHex = (alpha => { if (alpha > 1 || alpha < 0 || isNaN(alpha)) { throw new Error('参数必须是介于 0 和 1 之间的数字'); } return Math.ceil( 255 * alpha).toString(16).toUpperCase(); }) console.log(alphaToHex(0.45));


s
sulaimon-olaniran

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


A
Abdulbasit

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

.green{ 背景:#82bc00 /*实际绿色*/ } .subgreen{ 背景:#82bc0070 /*绿色,透明度低*/ } .greenparency{ 背景:#82bc0040 /*绿色,透明度高*/ } .transparency{ 背景: #82bc0000 /*绿色全透明*/ }

绿色背景色
绿色背景色
绿色背景色
绿色背景色