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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.10.2009, 01:26
SarGun вне форума Посмотреть профиль Отправить личное сообщение для SarGun Найти все сообщения от SarGun
  № 1  
Ответить с цитированием
SarGun
 
Аватар для SarGun

Регистрация: Sep 2008
Адрес: Ukraine, Kerch
Сообщений: 127
Отправить сообщение для SarGun с помощью ICQ Отправить сообщение для SarGun с помощью Skype™
По умолчанию Не могу нормально нарисовать битмап из ByteArray

Вот собственно код:
Код AS3:
var file:FileReference = new FileReference();
file.addEventListener(Event.COMPLETE, onLoaded);
file.addEventListener(Event.SELECT, onSelect);
 
btn.addEventListener(MouseEvent.CLICK, onClick);
 
function onClick(e:MouseEvent):void{
	file.browse();
}
 
function onSelect(e:Event):void{
	file.load();
}
 
function onLoaded(e:Event):void{
	var f:FileReference = FileReference(e.currentTarget);
	var byteArray:ByteArray = f.data;
 
	var rect:Rectangle = new Rectangle(0, 0, 533, 800);
	var bmd1:BitmapData = new BitmapData(533, 800);
	byteArray.position = 0;
	try{
	bmd1.setPixels(rect, byteArray);
	}catch(e:Error){}
 
	var bm1:Bitmap = new Bitmap(bmd1);
	addChild(bm1);
}
вообщем выводит просто цветной шум.. подскажите почему??

Старый 11.10.2009, 01:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А с чего вы взяли, что данные вот тут:
f.data
будут в том же формате, что и BitmapData? BitmapData - больше всего похожа на BMP только цвета в обратном порядке и строчки сверху вниз а не снизу вверх. А если у вас там PNG / GIF / JPEG то проще Loader'ом загрузить, чем самому парсить.
__________________
Hell is the possibility of sanity

Старый 11.10.2009, 01:50
SarGun вне форума Посмотреть профиль Отправить личное сообщение для SarGun Найти все сообщения от SarGun
  № 3  
Ответить с цитированием
SarGun
 
Аватар для SarGun

Регистрация: Sep 2008
Адрес: Ukraine, Kerch
Сообщений: 127
Отправить сообщение для SarGun с помощью ICQ Отправить сообщение для SarGun с помощью Skype™
а как мне лоадером загрузить ту картинку которую выбрал пользователь в FileReference?

полная задача такая..
пользователь выберает картинку она во флеше сжимается до 800*600 и передаётся на сервер
подскажите как такое сделать?


Последний раз редактировалось SarGun; 11.10.2009 в 02:11.
Старый 11.10.2009, 03:05
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Почитать справку про Loader.loadBytes
__________________
Hell is the possibility of sanity

Старый 11.10.2009, 03:21
SarGun вне форума Посмотреть профиль Отправить личное сообщение для SarGun Найти все сообщения от SarGun
  № 5  
Ответить с цитированием
SarGun
 
Аватар для SarGun

Регистрация: Sep 2008
Адрес: Ukraine, Kerch
Сообщений: 127
Отправить сообщение для SarGun с помощью ICQ Отправить сообщение для SarGun с помощью Skype™
отлично.. спасибо!прочёл - помогло!
если не сложно ответьте на последний вопрос.. не много не по теме, но чтоб не плодить темы спрошу тут:

как мне сжать битмапдату до , например, 200x200 и отправить сжатую картинку на сервер??
я пытаюсь методом draw перерисовать в другую битмапдату и в матрице соответственно уменьшаю scale..
далее беру масив байтов
Код AS3:
var d:ByteArray = bd.getPixels(rect);
записываю в data:
Код AS3:
file.data.writeBytes(d);
и отправляю
Код AS3:
file.upload(urlReq);
но на сервере сохраняется картинка начального размера.. т.е. сжатие не происходит почемуто..
почему?

Старый 11.10.2009, 05:03
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я думаю, что от версии плеера зависит. В 9ке по-моему перезаписать data нельзя. Но раз у вас данные уже все равно есть - лучше воспользуйтесь JPEGEncoder'ом (их есть 3 штуки разных, один флексовый, другой - немного оптимизированый с bytearray.org, и есть еще сделаный с помощью Alchemy - самый шустрый вроде). И отправляйте JPEG - все таки в разы картинка весить меньше будет.
__________________
Hell is the possibility of sanity

Старый 11.10.2009, 05:32
SarGun вне форума Посмотреть профиль Отправить личное сообщение для SarGun Найти все сообщения от SarGun
  № 7  
Ответить с цитированием
SarGun
 
Аватар для SarGun

Регистрация: Sep 2008
Адрес: Ukraine, Kerch
Сообщений: 127
Отправить сообщение для SarGun с помощью ICQ Отправить сообщение для SarGun с помощью Skype™
у меня 10-ка..
странно. проверил.. свойство data не изменяется!!


Последний раз редактировалось SarGun; 11.10.2009 в 05:42.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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