如何在JavaScript中将ARGB转换为十六进制?
我想把ARGB颜色转换成CSS兼容的十六进制 例如:如何在JavaScript中将ARGB转换为十六进制?,javascript,colors,hex,argb,Javascript,Colors,Hex,Argb,我想把ARGB颜色转换成CSS兼容的十六进制 例如: -1应转换为#FFFFFF 或 -16777216至#000000 我怎样才能在JavaScript中做到这一点呢?我假设您想要这样的东西: function convertToColorString (argb){ return '#'+ ('000000' + (argb+16777216).toString(16)).slice(-6); } 这将丢弃任何alpha组件 function argbToRGB(color) {
-1
应转换为#FFFFFF
或
-16777216
至#000000
我怎样才能在JavaScript中做到这一点呢?我假设您想要这样的东西:
function convertToColorString (argb){
return '#'+ ('000000' + (argb+16777216).toString(16)).slice(-6);
}
这将丢弃任何alpha组件
function argbToRGB(color) {
return '#'+ ('000000' + (color & 0xFFFFFF).toString(16)).slice(-6);
}
您的颜色是有符号的32位,全alpha(0xFF)使数字为负数。此代码甚至适用于无符号数字。您可能需要检查此问题: 我对这个问题的回答大致是,如果您想使用一个库而不是自己编码它,则支持整数到HTML颜色转换:
// Will set c to "#695083"
var c = pusher.color('packed_argb', -9875325).hex6();
如果你想尝试以上方法,这里有一个简单的例子
另外,让我添加我在上面提到的库中编写的免责声明。如何在javascript中反转该过程?从十六进制值开始,朝着argb值前进?已经寻找了一段时间,没有找到任何解决方案:(@Jorrex不确定您是否还在寻找,但我也需要它,并在这里找到了它:感谢这个答案: