2010-03-18 2 views
3

Добрый день всем,Преобразование UINT цвета в ARGB шестнадцатеричный для Kml цвета

Я застрял пытается преобразовать значение цвета 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); 
    } 

ответ

1

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

Но остальное кажется КАМИ

+0

Вы правильно об альфа, это значение от 0 до 1. Хорошего вопроса об округлении (или его отсутствии). – user163757

Смежные вопросы