如何在JavaScript中将ARGB转换为HEX?

时间:2012-09-25 09:05:12

标签: javascript colors hex argb

我想将ARGB颜色转换为CSS兼容的十六进制

例如:

-1应转换为#FFFFFF

-16777216#000000

我如何在JavaScript中执行此操作?

3 个答案:

答案 0 :(得分:7)

这会丢弃任何alpha组件

function argbToRGB(color) {
    return '#'+ ('000000' + (color & 0xFFFFFF).toString(16)).slice(-6);
}

您的颜色是32位符号,完整的alpha(0xFF)使数字为负数。此代码甚至适用于无符号数字。

答案 1 :(得分:0)

我认为你想要这样的东西:

function convertToColorString (argb){ 
   return '#'+ ('000000' + (argb+16777216).toString(16)).slice(-6); 
}

答案 2 :(得分:0)

您可以查看此问题:How do I convert an integer to a javascript color?

我对这个问题的回答大致建议,如果您想使用库而不是自己编码,pusher.color Javascript library支持整数到HTML颜色转换:

// Will set c to "#695083"
var c = pusher.color('packed_argb', -9875325).hex6();

如果您想尝试以上操作,这是JSFiddle

另外,让我添加上面提到的库中的免责声明。