3

今天是个好日子,

我一直在尝试将 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);
    }  
4

1 回答 1

1

我假设您的 alpha 介于 0 和 1 (0-100%) 之间,所以应该没问题,尽管我可能会将其设为双倍,然后将下限或上限设为最接近的整数。

但其余的似乎还可以

于 2010-03-18T17:55:37.527 回答