我正在尝试将Flash应用程序中的十进制颜色代码转换为HTML显示的十六进制颜色代码
我有8位数的这些数字,但我不确定它们是ARGB还是RGBA。有没有办法从颜色代码本身中解决这个问题?
我有一个javascript函数,可以将十进制数转换为十六进制数,但我没有补偿A值(或删除它)。你能帮我修改我的函数来从RGB十进制代码中提取/删除A值吗?
function decimalToHex( num )
{
if (num == null || num == "undefined") { return "0xFFFFFF"; }
var intNum = (parseInt(num,10)) & 8; // does this remove the most significant 8 bits?
return intNum.toString(16);
}
答案 0 :(得分:6)
如果alpha值在最高字节中,则按位AND与0x00FFFFFF删除。所以:
var intNum = (parseInt(num,10)) & 0x00FFFFFF;
或者,如果alpha值在最低字节中,按位AND与0xFFFFFF00,则向右移8:
var intNum = (parseInt(num,10) & 0xFFFFFF00) >> 8;