|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2010
Сообщений: 9
|
открыть картинку с диска и отобразить
Здравсвуйте. Необходимо открыть произвольный растровый файл с диска через стандартное диалоговое окно открытия файлов и вывести его на экран ...
Решил попробовать сделать с помощью AIR, открытие через стандартное окно сработало без проблем, а вот с отображением выбранной картинки на экран не получается, нужно как-то этот filestream в bitmap превратить ... public function onBMPLoad(e:Event):void { var file:File = File.desktopDirectory; file.browseForOpen("Open"); file.addEventListener(Event.SELECT, onSelectFile); } public function onSelectFile(e:Event):void { var file:File = e.target as File; var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); ----------------------- addChild(fileStream); } |
|
|||||
имхо аир обсуждается в другой ветке.
В обычном флеше это делалось путем загрузки фотки из байтмассива Loader.loadBytes(ByteArray); гляньте что вы получаете на выходе, может тоже подойдет. А вообще лучше сразу погуглить, готов поспорить есть куча готовых велосипедов. |
|
|||||
Регистрация: Feb 2010
Сообщений: 9
|
нашел решение без использования эир, ниже то что касается конкретно моей задачи, а по ссылке можно посмотреть более развитый пример с исходником: http://www.adobe.com/devnet/flash/qu...ss_as3/#access надеюсь кому-нить поможет ....
public var file:FileReference; public function onBMPLoad(e:Event):void {file = new FileReference(); file.addEventListener(Event.SELECT, onSelectFile); var fileFilter:FileFilter = new FileFilter("Images: (*.jpeg, *.jpg, *.gif, *.png)", "*.jpeg; *.jpg; *.gif; *.png"); file.browse([fileFilter]);} public function onSelectFile(e:Event):void {file.removeEventListener(Event.SELECT, onSelectFile); file.addEventListener(Event.COMPLETE, onCompleteFile); file.load();} private function onCompleteFile(event:Event):void {file.removeEventListener(Event.COMPLETE, onCompleteFile); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBytesHandler); loader.loadBytes(file.data);} private function loadBytesHandler(event:Event):void {var loaderInfo:LoaderInfo = (event.target as LoaderInfo); loaderInfo.removeEventListener(Event.COMPLETE, loadBytesHandler); addChild(loaderInfo.content);} |
Часовой пояс GMT +4, время: 18:27. |
|
« Предыдущая тема | Следующая тема » |
Теги |
air , bitmap , filestream , open dialog |
|
|