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

问题描述 投票:2回答:1

我正在尝试将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);
}
javascript html flash color-scheme
1个回答
6
投票
如果alpha值在最高字节中,则将其与0x00FFFFFF按位AND删除。因此:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.