メイドさんを毎日見れるフォトビューワーを作ってみた
メイドさんを毎日見れるフォトビューワーを作ってみました。
Maid Photo Gallery !
今回はJPG画像の保存を試してみました。
作成するはじめは、JPGEncoder使ったりbitmap.drawとかするのかなぁ面倒だなぁって思いましたが、いろいろやっているうちに画像のbitmapさえ取得さえできれば書き出せるようです。
以下、簡単な説明です。
//URLLoader作成 private var loader:URLLoader; protected function startLoader():void{ var request:URLRequest = new URLRequest( "http://hogehoge/hoge.jpg" ); loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE , onComp ); loader.load(request); } //ロード完了 protected function onComp( e:Event ):void{ var file:File = File.documentsDirectory.resolvePath( "hoge.jpg" ); var stream:FileStream = new FileStream(); try { stream.open(file, FileMode.WRITE ); var ba:ByteArray = loader.data; stream.writeBytes( ba ); } catch (e:EOFError) { // ファイル終端の処理 } catch (e:IOError) { // 入出力エラーの処理 } finally { // ストリームをクローズする stream.close(); } }
別にローダー使わなくても以下の記述でもOKです。ただし、画像が完全に読み込みが完了していることが前提です。
image.bitmapData.getPixels( 0 , 0 ,image.width , image.height );
また、GALAXY Sの性質上なのか、SDカードのメディアスキャンが行われるまで保存した画像がSDカードに反映されません。