![]() |
Из ByteArray в BitmapData
Есть некий растр, который после долгих но не мучительных преобразований мы хотим сохранить на память, а для пущей крутости мы зажимаем его в jpeg с помощью класса от неутомимого Tinic Uro (http://www.kaourantin.net/2005/10/mo...ts-in-as3.html)
Все замечательно работает, все отлично, но для полного кайфа хочется лицезреть всю красоту jpeg артефактов до отправки на сервер (как это сделано в PS). Но как флешу рассказать что ByteArray, который получился на выходе из конвертера, является jpeg'ом? Теоретически если его подложить в экземпляр класса Loader, может сработать. Но не тут то было, потому как поле content - всего лишь контейнер, в который просто что-то кладется по окончании загрузки. Вообщем я в замешательстве. У кого-нибудь есть варианты? Есть героический и очень теоритический способ - дописать в конвертер функцию которая обращает массив обратно в родной вид BitmapData. Или может быть существует более продвинутый класс который уже делает и то и другое. |
Код:
var b:Bitmap = loader.content as Bitmap; |
при добавлении полученной битмапы:
Код:
Error #2007: Parameter child must be non-null. |
да... и сам код...
Код:
private function getjpeg(level : Number = 80) : ByteArray { |
А зачем вам бинарник jpeg, если у вас уже есть BitmapData?
|
А чем Loader.loadBytes() не устроил?
Да, и я бы все-тки PNGEncoder"ом пользовался, если качество важно, потом если сильно захочется можно тем же ПХП легко конвертнуть, а разница в объеме не такая существенная, если не нужно их сотнями посылать, никто не умрет от лишних 20-30Кб. |
у меня опционально - можно и так и так.
__etc так артефакты же =) |
Цитата:
|
| Часовой пояс GMT +4, время: 16:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.