![]() |
|
||||||||||
|
|||||
|
Есть некий растр, который после долгих но не мучительных преобразований мы хотим сохранить на память, а для пущей крутости мы зажимаем его в 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,787
|
А зачем вам бинарник 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,787
|
Артефакты юзеру хотите показать? Тогда loadBytes в руки.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|