![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2010
Сообщений: 347
|
Здравствуйте дорогие!
Помогите пожалуйста с вопросом: Нужно во флеш приложении (подобном игре) получить изображение, да так, чтоб клиент мог его скачать на свой компьютер в виде jpg файла например. 1.Как получить jpg из того что есть во флеш окне? 2.Как это дать возможность пользователю скачать? Помогите пожалуйста. |
|
|||||
|
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цитата:
http://help.adobe.com/ru_RU/FlashPla...a.html#encode() Цитата:
|
|
|||||
|
Регистрация: May 2010
Сообщений: 347
|
Огромное спасибо за быстрый ответ и ссылки.
Но у меня осталось несколько вопросов. 1.Как с BitmapData преварщать в картинку именно то, что сейчас на экране Flash? 2.Как скачатз файл с использованием FileReference, которого нет? Его надо сохранить куда-то на сервере потом скачивзть? Или можно полученное с использованием BitmapData сразу передать как аргумент FileReference? И если можно мааааленький примерчик, на нем быстрее пойму, а так придется эксперементировать, учиться, а времени совсем в обрез. Заранее огромное спасибо за помощь! |
|
|||||
package { import flash.display.BitmapData; import flash.display.JPEGEncoderOptions; import flash.display.Sprite; import flash.events.MouseEvent; import flash.net.FileReference; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.ByteArray; public class Main extends Sprite { public function Main():void { // Рисуем что-то for (var i:int = 0; i < 100; i++) { graphics.lineStyle(2, Math.random() * 0xFFFFFF); graphics.lineTo(Math.random() * stage.stageWidth, Math.random() * stage.stageHeight); } // кнопка var but:TextField = new TextField(); but.autoSize = TextFieldAutoSize.LEFT; but.border = true; but.background = true; but.backgroundColor = 0xFFFF80; but.text = "save jpg"; but.selectable = false; addChild(but); but.addEventListener(MouseEvent.CLICK, but_click); } private function but_click(e:MouseEvent):void { var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight); bmd.draw(stage); var ba:ByteArray = bmd.encode(bmd.rect, new JPEGEncoderOptions());// FP 11.3+ var file:FileReference = new FileReference(); file.save(ba, "test.jpg"); } } } |
|
|||||
|
Регистрация: May 2010
Сообщений: 347
|
Огромное вам спасибо!!!!
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
строчка
правильная? ругается на неё и JPEGEncoderOptions не находит в flash.display если ниже FP 11.3,то эта задача решаема? |
|
|||||
|
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 141
|
Последний раз редактировалось Agni; 09.10.2014 в 04:28. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|