|
|
|||||
Из ByteArray в BitmapData
Есть некий растр, который после долгих но не мучительных преобразований мы хотим сохранить на память, а для пущей крутости мы зажимаем его в jpeg с помощью класса от неутомимого Tinic Uro (http://www.kaourantin.net/2005/10/mo...ts-in-as3.html)
Все замечательно работает, все отлично, но для полного кайфа хочется лицезреть всю красоту jpeg артефактов до отправки на сервер (как это сделано в PS). Но как флешу рассказать что ByteArray, который получился на выходе из конвертера, является jpeg'ом? Теоретически если его подложить в экземпляр класса Loader, может сработать. Но не тут то было, потому как поле content - всего лишь контейнер, в который просто что-то кладется по окончании загрузки. Вообщем я в замешательстве. У кого-нибудь есть варианты? Есть героический и очень теоритический способ - дописать в конвертер функцию которая обращает массив обратно в родной вид BitmapData. Или может быть существует более продвинутый класс который уже делает и то и другое. Последний раз редактировалось TheBird; 20.06.2008 в 20:51. |
|
|||||
__________________
if (love is true) break my.heart; Последний раз редактировалось Rzer; 20.06.2008 в 21:04. |
|
|||||
|
|
|||||
да... и сам код...
private function getjpeg(level : Number = 80) : ByteArray { var bd : BitmapData; var bmap : Bitmap; bd = new BitmapData(canvaWidth, canvaHeight, true); bmap = new Bitmap(bd); bmap.bitmapData.draw(canva); var jpegEnc : JPEGEncoder = new JPEGEncoder(level); var jpegDat : ByteArray = jpegEnc.encode(bmap.bitmapData); return jpegDat; } public function previz(level : Number = 80) : void { var b : Bitmap = getjpeg(level) as Bitmap; addChild(b); trace(level); } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
А зачем вам бинарник jpeg, если у вас уже есть BitmapData?
|
|
|||||
Modus ponens
|
А чем Loader.loadBytes() не устроил?
Да, и я бы все-тки PNGEncoder"ом пользовался, если качество важно, потом если сильно захочется можно тем же ПХП легко конвертнуть, а разница в объеме не такая существенная, если не нужно их сотнями посылать, никто не умрет от лишних 20-30Кб.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 20.06.2008 в 22:42. |
|
|||||
у меня опционально - можно и так и так.
__etc так артефакты же =) |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Артефакты юзеру хотите показать? Тогда loadBytes в руки.
|
Часовой пояс GMT +4, время: 23:43. |
|
« Предыдущая тема | Следующая тема » |
|
|