2010-03-18 172 views
3

好日子大家,转换UINT颜色ARGB十六进制颜色KML

我坚持努力单元色值转换成等效的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); 
    } 

回答

1

我假设你的alpha为0和1(0-100%)之间的东西,所以这应该是很好,虽然我可能会使其double,然后地板或天花板到最接近的整数。

但其余的看起来不错

+0

您将阿尔法正确的,它是关于取整(或缺乏)0和1,良好的点之间的值。 – user163757 2010-03-18 18:00:38