- Androidプログラミング質問スレ revision45
517 :デフォルトの名無しさん[]:2014/10/30(木) 10:03:42.24 ID:MdjhHKaF - カメラなどで撮った画像を編集して内部ストレージに保存するアプリを作りたいのですが、
保存と、ギャラリーから見えるようにするコンテンツ管理への登録がうまくいきません。 どなたか、教えていただけないでしょうか。 以下のコードを実行すると、ギャラリーからはまっ黒な0バイトの画像が表示されます。(名前は指定したものがついてます) public static final boolean savePngLocalStorage(String fileName, Bitmap bitmap,Context context) throws IOException { File DirPath= new File(Environment.getExternalStorageDirectory().getPath()+"/sample_images/"); //内部ストレージのパス取得 if (!DirPath.exists()) { //内部ストレージ下にフォルダ作成 DirPath.mkdir(); } String FilePath; FilePath = DirPath.getAbsolutePath() + "/" + fileName; //ファイルへのパス try { FileOutputStream fos = null; fos = new FileOutputStream(new File(FilePath)); //ファイルオープン boolean flg=false; flg=bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); //JPEGで保存 fos.flush(); fos.close(); return flg;
|
- Androidプログラミング質問スレ revision45
518 :デフォルトの名無しさん[]:2014/10/30(木) 10:04:46.40 ID:MdjhHKaF - 続きです。
} finally { try { String mimeType = "image/jpeg"; MediaScannerConnection.scanFile(context, new String[] { FilePath },new String[] { mimeType },null); //コンテンツ管理へ登録 } catch (Exception e) { }
|
- Androidプログラミング質問スレ revision45
523 :デフォルトの名無しさん[]:2014/10/30(木) 19:09:59.50 ID:MdjhHKaF - >>519
色々試しているうちにごっちゃになっちゃってます。すいません。 >>520 ファイラーで確認したところ、ファイル名はあったのですが、0バイトデータでした。 >>522 この処理へ移る前に加工処理(モノクロ)をしていて、それを画面に表示することはできています。 520さんの指摘であったようにファイラーからは0バイトだったので、ここの処理へ数値を渡せてないのでしょうか。 適当なXMLを作って一度こちらの処理内でイメージを表示してみます。
|
- Androidプログラミング質問スレ revision45
525 :デフォルトの名無しさん[]:2014/10/30(木) 22:07:40.51 ID:MdjhHKaF - >>517です
加工処理直後は画像の表示を確認できるのですが517に記載した処理内では やはり確認できないです。 データの受け渡しはボタンを押したら上記クラスへ渡して保存するように実装したいのですが、 この書き方で、ファイル名とビットマップは渡せないのでしょうか。 button4.setOnClickListener(new OnClickListener() { public void onClick(View v) { try { savePngLocalStorage(fileName,SFilerBitmap,context); } catch (IOException e) { e.printStackTrace(); } } }
|