我想将 ARGB 颜色转换为与 CSS 兼容的十六进制
例如:
-1
应转换为#FFFFFF
或者
-16777216
到#000000
我怎样才能在 JavaScript 中做到这一点?
我想将 ARGB 颜色转换为与 CSS 兼容的十六进制
例如:
-1
应转换为#FFFFFF
或者
-16777216
到#000000
我怎样才能在 JavaScript 中做到这一点?
这将丢弃任何 alpha 分量
function argbToRGB(color) {
return '#'+ ('000000' + (color & 0xFFFFFF).toString(16)).slice(-6);
}
您的颜色是 32 位有符号的,完整的 alpha (0xFF) 使数字变为负数。此代码甚至适用于无符号数字。
我假设你想要这样的东西:
function convertToColorString (argb){
return '#'+ ('000000' + (argb+16777216).toString(16)).slice(-6);
}
您可能想检查这个问题:如何将整数转换为 javascript 颜色?
我对这个问题的回答大致是建议,如果你想使用一个库而不是自己编码,pusher.color Javascript 库支持整数到 HTML 颜色转换:
// Will set c to "#695083"
var c = pusher.color('packed_argb', -9875325).hex6();
如果您想尝试上述方法,这里是一个JSFiddle 。
另外,让我添加我编写上述库的免责声明。