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

// Получаем значение цвета пиксела, уровень канала Alpha которого // установлен в 255, из прозрачного изображения var imgData-.BitmapData = new BitmapData(20, 20. true. OxFFFFFFFF); trace(imgData. getPixel32(0. 0)); // Выводит: 4294967295

// (исходные данные были сохранены)

Класс ColorPicker: пример использования метода getPixel32()

Теперь, когда мы понимаем, как получить значение цвета пиксела, применим наши знания в реальной ситуации. Предположим, что мы разрабатываем интернет-приложение для создания приглашений на вечеринки. Пользователи приложения сначала выбирают фотографию, которая будет помещена на приглашение, а затем задают подходящий цвет для текста приглашения. Чтобы пользователь мог поэкспериментировать с различными цветами, приложение предоставляет специальную форму для выбора цвета. Когда пользователь перемещает указатель мыши над выбранным изображением, цвет текста приглашения автоматически изменяется в соответствии с цветом пиксела, над которым в данный момент находится указатель мыши. В листинге 26.4 продемонстрирован код для палитры выбора цвета с тестовым изображением sunset. jpg. Изучите комментарии, чтобыпонять, как происходит получение значения цвета под указателем мыши.

Листинг 26.4. Палитра выбора цвета на основе изображения

package { import flash. display.*; import flash. events.*; import flash. text.*; import flash. net.*;

// Устанавливает цвет объекта TextField в соответствии с цветом

// выбранного в изображении пиксела.

public class ColorPicker extends Sprite { private var img:Bitmap; // Объект Bitmap

private var imgContainer:Sprite; // Контейнер для объекта Bitmap private var t:TextField; // Раскрашиваемый объект TextField

// Метод-конструктор

public function ColorPicker( ) {

// Создаем объект TextField и добавляем его в иерархию отображения

// объекта ColorPicker

t = new TextField( );

t. text = «Please come to my party…»;

t. autoSize = TextFieldAutoSize. LEFT;

addChild(t);

// Загружаем изображение

var loader-.Loader = new Loader ( );

1oader. contentLoaderInfо. addEventLi stener(Event. INIT,

initListener);

1oader.1oad(new URLRequest(«sunset. jpg»));

}

// Вызывается, когда инициализация изображения завершена private function initListener (e:Event):void {

// Получаем ссылку на загруженный объект Bitmap

img = е. target. content;

// Помещаем загруженное растровое изображение в объект Sprite, чтобы // мы могли реагировать на взаимодействия с мышью imgContainer = new Sprite( ); i mgConta i ner. addChi1d(i mg);

// Добавляем объект Sprite в иерархию отображения объекта ColorPicker addChild(imgContainer); imgContainer. у = 30;

// Регистрируем приемник для получения уведомлений о перемещении мыши imgContainer. addEventLi stener(MouseEvent. M0USE_M0VE, mouseMoveListener);

}

// Вызывается, когда происходит перемещение мыши над объектом Sprite. // содержащим изображение

private function mouseMoveListener (e:MouseEvent):void { // Устанавливаем цвет текста в соответствии с цветом пиксела, // находящегося в данный момент под указателем мыши

t. textColor = img. bitmapData. getPixel32(e. localX, e. localY);

}

}

}

Получение цвета области пикселов

Методыэкземпляраде1Р1хе132 ( ) иgetPixel ( ) класса BitmapData применяются для получения значения цвета отдельного пиксела. В отличие от этого, метод экземпляра getPixels ( ) класса BitmapData используется для получения значений цвета целой прямоугольной области пикселов. Метод getPixels ( ) может быть использован в любом из следующих сценариев:

? при передаче области растрового изображения между модулями программы;

? при использовании собственного алгоритма для обработки фрагмента растрового изображения;

? при отправке фрагмента или всего растрового изображения на сервер в необработанном бинарном формате.

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

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

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

Полезные ссылки
Случайные записи
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 014
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 009
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 103
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 013
  • 04.06.2011">О дизайне веб-сайта
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 133
  • 03.10.2010">Как сделать матовую кожу?
  • 23.08.2011">Обзор ACER ASPIRE TIMELINEX 1830T
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 059
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.39
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.82
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.92
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 051
  • 10.08.2010">Flash элементы уходят в прошлое?
  • 22.07.2011">Интернет – кладезь для меломанов
Опрос

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

View Results

Loading ... Loading ...