将RGBA转换为十六进制或将ARGB转换为十六进制

saz*_*azr 2 html javascript flash color-scheme

我试图将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);
}
Run Code Online (Sandbox Code Playgroud)

cbr*_*nch 6

如果alpha值在最高字节中,则按位AND与0x00FFFFFF删除.所以:

var intNum = (parseInt(num,10)) & 0x00FFFFFF;

或者,如果alpha值在最低字节中,按位AND与0xFFFFFF00,则向右移8:

var intNum = (parseInt(num,10) & 0xFFFFFF00) >> 8;