Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить адреса пикселей BitmapData? до отображения связанного объекта Bitmap 
V
    Опции темы
Gantenbain
Дата 31.7.2011, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



Всем - доброго дня!


AS3.0

Задача - получить адреса пикселей BitmapData до помещения связанного объекта Bitmap в список отображения (для реализации специфической заливки отображаемой фигуры, созданной средствами векторной графики).
Похожий вопрос подымался в этой теме, но топикстартер не ознакомил с результатами. Поведение BitmapData неожиданно обескуражило:
Код

var tmpSh:Shape = new Shape();
tmpSh.graphics.beginFill(0xFF00FF, 1);
tmpSh.graphics.drawPath(commands, data);
tmpSh.graphics.endFill();
var r:Rectangle = tmpSh.getRect(stage);
var pt:Point = r.topLeft;
var pixelValue:uint, pixelValueMask:uint, i:int = 0, j:int = 0;
var bmpdata:BitmapData = new BitmapData(r.width, r.height, false, 0xFF0000); 
bmpdata.draw(tmpSh);
var arr:Vector.<String> = new Vector.<String>();
for (i = 0; i < r.width-1; i++) {
  for (j = 0; j < r.height-1; j++) {
    pixelValue =  bmpdata.getPixel(i, j);
    if (arr.length == 0 || arr.indexOf(("0x"+pixelValue.toString(16))) < 0)  arr.push("0x"+ pixelValue.toString(16));
  } 
}
trace(arr);

В массиве  - только значения 0xFF0000, т.е рассчитывать на то, что удастся таким способом получить адреса пикселей другого цвета, не стоит. Можно реализовать нужную заливку шейдером, но изучение PixelBender отвлечет некоторое время (на первый взгляд, язык показался чуднЫм).
Как получить адрес пикселя?
PM MAIL WWW   Вверх
Gantenbain
Дата 1.8.2011, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



В целом, ответ получен.

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.1169 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.