大家好日子,
我试图将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);
}
答案 0 :(得分:1)
我认为你的alpha是介于0和1(0-100%)之间的东西,所以应该没问题,尽管我可能会把它变成一个双倍,然后是最接近整数的地板或天花板。
但其余的似乎没问题