Преобразование цвета uint в шестнадцатеричное argb для цвета kml - PullRequest
3 голосов
/ 18 марта 2010

Добрый день всем,

Я застрял, пытаясь преобразовать значение цвета uint в его эквивалентный шестнадцатеричный формат argb. По сути, я пытаюсь преобразовать цвет из Flex (AS3) в его соответствующий цвет kml, который находится в шестнадцатеричном формате argb из того, что я собираю. Ниже моя функция, как она есть сейчас. Несмотря на то, что он преобразуется в действительный цвет кмл, он не является правильным цветом или даже близко. Кто-нибудь видит здесь что-то не так?

    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 Ответ

1 голос
/ 18 марта 2010

Я полагаю, что ваша альфа находится в диапазоне от 0 до 1 (0-100%), так что все должно быть в порядке, хотя я, вероятно, сделаю ее двойной, а затем пол или потолок до ближайшего целого числа.

Но в остальном все в порядке

...