Руководство по actionscript. часть 5, стр. 036

Метод getPixels ( ) принимает следующий обобщенный вид:

объектаtmapData. getPi xels(область)

Здесь объектВтtmapData — объект BitmapData, из которого будут возвращаться значения цвета пикселов, а область — объект flash. geom. Rectangle, описывающий область возвращаемых пикселов. Метод getPixels ( ) возвращает объект ByteArray, содержащий 32-битные целочисленные значения цвета. Объект ByteArray — это список значений цвета для пикселов в указанной прямоугольной области, обход которых происходит слева направо и сверху вниз. Например, рассмотрим следующую диаграмму растрового изображения размером 4×4, пикселы которого для простоты обозначены буквами от А до Р:

А В С D Е F G Н I J К L М N О Р

Не забывая, что пиксел левого верхнего угла растрового изображения находится в точке с координатой (0; 0), если мы воспользуемся методом getPixels ( ) для получения значений цвета прямоугольной области пикселов от точки (2; 1) до точки (3; 3), возвращаемый объект ByteArray будет содержать следующие пикселы в таком порядке:

G, Н. К, L, 0. Р

Стоит отметить, что объект ByteArray представляет собой одномерный список и не содержит никакой информации о размерах и позиции прямоугольной области, из которой были получены данные пикселы. Таким образом, чтобы восстановить растровое изображение из пикселов, хранящихся в объекте ByteArray, в том порядке, в котором они находились ранее, мы должны иметь свободный доступ к ширине, высоте и позиции исходного прямоугольника. Информация об исходном прямоугольнике может быть присвоена переменной или даже добавлена в сам объект ByteArray.

Чтобы попрактиковаться в использовании метода get Pixel s ( ), скопируем прямоугольную область из одного растрового изображения в другое изображение. Сначала мы создадим два объекта BitmapData. Первый объект представляет квадрат синего цвета размером 20 х 20 пикселов, а другой — квадрат зеленого цвета размером 30 х 30 пикселов:

var blueSquare:BitmapData = new BitmapData(20. 20. false. OxFFOOOOFF); var greenSquare:BitmapData = new BitmapDataOO. 30. false. OxFFOOFFOO);

Затем мы определяем прямоугольную область пикселов, которую хотим получить из квадрата зеленого цвета. Левый верхний угол прямоугольника находится в точке с координатой (5; 5), а его ширина и высота равна 10 пикселам.

var rectRegion:Rectangle = new Rectangle(5. 5. 10. 10);

Теперь мы получаем пикселы зеленого цвета:

var greenPixels:ByteArray = greenSquare. getPixels(rectRegion);

Чтобы перенести пикселы зеленого цвета на квадрат синего цвета, мы используем метод экземпляра set Pixels ( ) класса BitmapData. Однако перед вызовом метода set Pixel s ( ) мы должны установить указатель файла объекта ByteArray в значение 0, чтобы метод setPixels( ) начал чтение значений цвета пикселов с начала списка:

greenPixels. position = 0;

Теперь мы можем прочитать пикселы из объекта ByteArray greenPixels и сохранить их в объекте BitmapData blueSquare:

blueSquare. setPi xels(rectRegi on. greenPi xels);

Чтобы убедиться, что все работает так, как ожидалось, мы отображаем два растровых изображения на экране:

var blueBmp:Bitmap = new Bitmap(blueSquare); var greenBmp:Bitmap = new Bitmap(greenSquare); addChild(blueBmp); addChild(greenBmp); greenBmp. x = 40;

На рис. 26.5 показаны результаты выполнения предыдущего кода.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 047
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 056
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.21
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.22
  • 31.07.2011">Выбери свой онлайн-фоторедактор
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.81
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 133
  • 11.11.2012">Фотокнига от Принт-а-Тет
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 073
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 017
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.23
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.113
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.32
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 010
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 087
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...