Декодирование один RGB значение


  Share  
|


Вы хотите извлечь красного, зеленого и синего компонентов из RGB значение возвращается Color.getRGB ().

Используйте bitshift право и побитовое И операторов.

Вы можете извлечь красного, зеленого и синего компонентов из одного RGB значение возвращается Color.getRGB (), используя bitshift право (>>) и побитовое И (и) операторов. Можно извлечь один или несколько цветов индивидуально следующим образом:

  / / Создать цвета объекта.  my_color = новый цвет (myMovieClip); 
  / / Получить текущий цвет RGB.  rgb = my_color.getRGB (); 
  / / rgb содержит цвета RGB в десятичной форме, например, 14501017 (розовых розовый), / / которые хранятся внутри, как ее шестнадцатеричный эквивалент, например, 0xDD4499.  красный = (rgb>> 16); зеленый = (rgb>> 8) и 0xFF; синий = rgb и 0xFF; 

Хотя показана как десятичное число, помните, что каждый цвет имеет внутри хранится в гексадецималах: 0xRRGGBB. Например, цвета 14501017 (который розовых розовый) хранится внутри, как 0xDD4499. В этот формат, можно легко увидеть, что красный компонент ПД в шестнадцатиричное (221 в десятичной системе), зеленый компонент 44 в шестнадцатиричное (68 в десятичной) и синий компонент 99 в шестнадцатиричное (153 в десятичной системе).

В предыдущих преобразований эффективно отделяет 24 бит значение в трех 8 - битные компоненты (слева восемь бит представляют красные, в середине восемь бит представляют зеленый, и rightmost восемь бит представляют синий). В bitshift право оператора используется для перехода восьми битов, представляющих интерес для rightmost позицию. Использование оператора побитовое И с 0xFF сохраняет rightmost восемь бит только эффективно маскировки любой нежелательной биты слева.

На практике это зачастую проще Color.getTransform (), в которых красный, зеленый и синий компоненты возвращаются в виде отдельных свойств преобразование объекта - определить клип цвет. Кроме того, getTransform () также возвращает значение альфа для цветов, которые getRGB () не

это статья добавлена Elis Frugalo

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions