Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 30.06.2009, 00:16
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 1  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
По умолчанию ByteArray to Bitmap

собсно есть данные в ByteArray, нужно их передать обьекту но в Bitmap, конвертер как я понял делается через Loader
например есть некий класс в котором есть:

Код AS3:
...
private var bitMap:Bitmap;
 
public function converter(bitmap:Bitmap, teArray:ByteArray):void {
		var loader:Loader = new Loader();
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoader);
		function finishLoader(event:Event):void {
			loader.removeEventListener(Event.COMPLETE, finishLoader);
			bitMap = new Bitmap(loader.content);
		}
		loader.loadBytes(byteArray);
	}
 
public function getBitMap():Bitmap{
return bitMap;
}
либо есть вариант чтобы метод сразу возвращал Bitmap

Код AS3:
public function converter(bitmap:Bitmap, teArray:ByteArray):Bitmap{
                var ret:Bitmap;
		var loader:Loader = new Loader();
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoader);
		function finishLoader(event:Event):void {
			loader.removeEventListener(Event.COMPLETE, finishLoader);
			ret= new Bitmap(loader.content);
                        return ret;
		}
		loader.loadBytes(byteArray);
                return ret;
	}

но в обоих случаях он возвращает null, потому что это происходит когда еще loader не отработал до конца.
какие есть варианты ? можно видимо написать свое событие и свой листенер, а без этого никак ?

спасибо.

Старый 30.06.2009, 00:22
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Посмотрите метод setPixels () у BitmapData. А про вложенные функции забудьте раз и на всегда.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 30.06.2009, 00:27
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 3  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
хм, ну почему забыть ? иногда они работают как никто другой хорошо..
setPixels посмотрел, ну я не знаю заранее размер изображения, а там нужен ректангл


Последний раз редактировалось jaa_breath; 30.06.2009 в 00:29.
Старый 30.06.2009, 01:37
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
jaa_breath, вложенный функции не могут работать хорошо.

Старый 30.06.2009, 01:44
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 5  
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
сорри за оффтоп, но неужели вложенные функции в самом деле такие плохие? Просто у меня используются вложенные функции в качестве рисовальщиков, когда при анимации используется таймер. Например сперва запускается таймер который делает анимацию по х, после него таймер который делает анимацию по у, и оба они
вложенны в одну функцию, которая вызывает всё эту анимацию.
т.е. вообщем-то без всяких наворотов и передачи параметров, просто конструкция такая, как она может не правильно отработать?

Старый 30.06.2009, 01:52
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 6  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
BlooDHounD у вас весьма удивительное утверждение..

по поводу метода setPixels, практически на всех графических файлах, кроме одного получаю ошибку End of file was encountered, хотя это обычная картинка как и все другие.

Код AS3:
		byteArray = ...
                var rect:Rectangle = new Rectangle(0, 0, 238, 107);
		var bmd1:BitmapData = new BitmapData(238, 107, true, 0xFFCCCCCC);
		byteArray.position = 0;
		bmd1.setPixels(rect, byteArray);
		var bm1:Bitmap = new Bitmap(bmd1);


Последний раз редактировалось jaa_breath; 30.06.2009 в 01:54.
Старый 30.06.2009, 01:54
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
анонимные функции:
1. создаются каждый раз при попадании в функцию родитель.
2. имеют кривую типизацию.
3. жрут больше памяти.
4. у них плавающий объект активации.
5. от них проблемно отписываться.
6. их нельзя сравнивать друг с другом.
и т.д. и т.п.

Добавлено через 36 секунд
jaa_breath, удивительные утверждения у Вас и у willis83. но это не удивительно.

Старый 30.06.2009, 02:02
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 8  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
вы сами то поняли что написали ))
для всего есть свой случай, одним словом

Старый 30.06.2009, 02:06
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
jaa_breath, а что я непонятно гонаписал?

Старый 30.06.2009, 02:15
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 10  
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
например анонимные функции в таких языках как java или c# это совершенно нормальная практика
по пунктам:
1. ну и што, лично я не собираюсь писать там целый класс, минимум
2. чо у вас там кривого не знаю
3. как обычно. не забыть только убить нужно
4. без понятия о чем вы
5. не вижу проблем
6. и не нужно, для того они и такие (сравнение функций бессмысленно; функции необходимо вычислять и сравнивать результаты этих вычислений)


Последний раз редактировалось jaa_breath; 30.06.2009 в 02:50.
Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 05:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.