今天是个好日子,
我一直试图将uint颜色值转换为等效的argb十六进制格式。基本上,我试图将Flex(AS3)的颜色转换为合适的kml颜色,根据我收集的颜色,该颜色为argb十六进制格式。以下是我目前的功能。尽管它确实会转换为有效的kml颜色,但它不是正确的颜色,甚至不是接近的颜色。有人在这里看到任何问题吗?
private static function getKmlColor(color:uint,alpha:Number):String
{
var argb:uint = 0;
var alphaUint:uint = 255 * alpha;
argb += (alphaUint<<24);
argb += (color);
return argb.toString(16);
}
最佳答案
我假设您的alpha介于0到1(0-100%)之间,所以应该没问题,尽管我可能将其设置为两倍,然后将底数或上限设置为最接近的整数。
但是其余的似乎还可以
关于hex - 将Uint颜色转换为KMLB颜色的argb十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2472194/