我想将ARGB颜色转换为CSS兼容的十六进制
例如:
-1
应转换为#FFFFFF
或
-16777216
至#000000
我如何在JavaScript中执行此操作?
答案 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。
另外,让我添加上面提到的库中的免责声明。