![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Вот собственно код:
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); } |
|
|||||
|
Modus ponens
|
А с чего вы взяли, что данные вот тут:
f.data будут в том же формате, что и BitmapData? BitmapData - больше всего похожа на BMP только цвета в обратном порядке и строчки сверху вниз а не снизу вверх. А если у вас там PNG / GIF / JPEG то проще Loader'ом загрузить, чем самому парсить.
__________________
Hell is the possibility of sanity |
|
|||||
|
а как мне лоадером загрузить ту картинку которую выбрал пользователь в FileReference?
полная задача такая.. пользователь выберает картинку она во флеше сжимается до 800*600 и передаётся на сервер подскажите как такое сделать? Последний раз редактировалось SarGun; 11.10.2009 в 02:11. |
|
|||||
|
отлично.. спасибо!прочёл - помогло!
если не сложно ответьте на последний вопрос.. не много не по теме, но чтоб не плодить темы спрошу тут: как мне сжать битмапдату до , например, 200x200 и отправить сжатую картинку на сервер?? я пытаюсь методом draw перерисовать в другую битмапдату и в матрице соответственно уменьшаю scale.. далее беру масив байтов записываю в data: и отправляю но на сервере сохраняется картинка начального размера.. т.е. сжатие не происходит почемуто.. почему? |
|
|||||
|
Modus ponens
|
Я думаю, что от версии плеера зависит. В 9ке по-моему перезаписать data нельзя. Но раз у вас данные уже все равно есть - лучше воспользуйтесь JPEGEncoder'ом (их есть 3 штуки разных, один флексовый, другой - немного оптимизированый с bytearray.org, и есть еще сделаный с помощью Alchemy - самый шустрый вроде). И отправляйте JPEG - все таки в разы картинка весить меньше будет.
__________________
Hell is the possibility of sanity |
|
|||||
|
у меня 10-ка..
странно. проверил.. свойство data не изменяется!! Последний раз редактировалось SarGun; 11.10.2009 в 05:42. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|