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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.07.2010, 02:51
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 1  
Ответить с цитированием
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
По умолчанию BitmapData -> xml -> bitmapdata

Кто-нить может подксказать, как записать bytearray в bitmapdata

Если делать через getpixels, всё работает норм, но размеры таких массивов не устраивают, а если делать через jpegecnoder не работает вообще:

Код AS3:
// в loader содержится обычная картинка загруженная через Loader()
var rect:Rectangle = new Rectangle(0, 0, loader.width, loader.height);
var bmd:BitmapData = new BitmapData(loader.width, loader.height, false, 0);
var bm:Bitmap = new Bitmap(bmd);
bm.smoothing = true;
 
bm.bitmapData.draw(loader);
var bytes:ByteArray = JPEGEncoder(bmd, 100);
bytes.position = 0;
 
// Этот вариант не работает, пишет "Обнаружен конец файла."
var bmd1:BitmapData = new BitmapData(loader.width, loader.height, false, 0);
bmd1.setPixels(rect, bytes);
Ну а если же грузить данные в ByteArray через
Код AS3:
var bytes:ByteArray = bmd.getPixels(rec);
ТО размеры получаются очень огромные(20кб картинка превращается в 200кб)

Просто нужно как-то много картинок загрузить в 1 файл(в xml), а потом из этого xml загружать уже во флеш
__________________
С вами был -=Xel'[Naga]

Старый 10.07.2010, 11:26
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
JPEGEncoder вроде как кодирует в формат JPEG.
У него это даже в названии написано.
Формат файла подчиняется спецификации, кроме собственно данных о пикселях - сжатых или упакованных по особому алгоритму, файл содержит заголовок, созданный по определенной схеме. Вы же создаете массив байтов из формата JPEG, и надеетесь получить картинку, "пропечатав" каждый байт из файла. Не получится))) Надо загрузить этот массив в Loader методом loadBytes, и он сформирует Вам изображение "обратно".
__________________
Reality.getBounds(this);

Старый 10.07.2010, 12:59
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 3  
Ответить с цитированием
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
Ну да, логика ясна. Но просто если уж loader умеет "понимать" jpg, то уж bitmapdata и подавно это должна уметь )))

ну ладно, это уже другое....спс за ответ, мне это и нужно было.
__________________
С вами был -=Xel'[Naga]

Старый 10.07.2010, 14:58
zurkis вне форума Посмотреть профиль Отправить личное сообщение для zurkis Найти все сообщения от zurkis
  № 4  
Ответить с цитированием
zurkis
 
Аватар для zurkis

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
AsyncJPEGEncoder работает быстрей даже чем JPEGEncoder
__________________
Пока я жив, Вы горем обеспечены

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от Xel'[Naga] Посмотреть сообщение
Но просто если уж loader умеет "понимать" jpg, то уж bitmapdata и подавно это должна уметь )))
BitmapData никому ничего не должна, это просто информация о пикселях изображения. И она ничего не знает о существовании JPEG, PNG, GIF и т.д.


Последний раз редактировалось alatar; 11.07.2010 в 23:24.
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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