【发布时间】:2020-09-24 20:07:41
【问题描述】:
现在,我需要知道如何更改任何十六进制值,例如
'#01ff00', '#7fff82', '#c1ffc0', '#16F6F5','#81FFFC','#BFFFFF'
转 int32(必须)
function toColor(num) {
num >>>= 0;
var b = num & 0xFF,
g = (num & 0xFF00) >>> 8,
r = (num & 0xFF0000) >>> 16,
a = ( (num & 0xFF000000) >>> 24 ) / 255 ;
return "rgba(" + [r, g, b, a].join(",") + ")";
}
我使用了这个公式,但我不知道如何应用逆向工程。
编辑:
我在数据库中有这个值:-16744448,使用公式我有这个颜色值:'#008000',我需要在 -16744448 中再次转换这个颜色。
当我使用 cmets 中提到的公式时,我得到:32768
这个值来自VB.net,这个函数:Color.FromArgb
【问题讨论】:
-
JavaScript 中没有“int32”这样的东西。您可以将字符串转换为数字。
-
是的,我知道,但在数据库中,我只从 Visual Basic 获得了“int32”数字。并且知道我需要转换这些颜色。他们得到了 color.toARGB
-
@RyanWilson 那个答案不起作用......他使用了 rgb 颜色。
-
我不知道
a- 它似乎不在您的号码中。 “32768”是对的,减去16^6即可。
标签: javascript hex