2017-01-30 4 views
0

「.jpg」などのイメージをファイルとして読み込むにはどうすればよいですか?イメージをファイルとしてロード

このファイル正確にはを使用して保存されました:

public static void saveFile(Context context, Bitmap bitmap, String picName) { 
    FileOutputStream fileOutputStream; 
    try { 
     fileOutputStream = context.openFileOutput(picName, Context.MODE_PRIVATE); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 30, fileOutputStream); 
     fileOutputStream.close(); 
    } catch (FileNotFoundException e) { 
     Log.d(TAG, "file not found"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.d(TAG, "io exception"); 
     e.printStackTrace(); 
    } 

} 

だから私は参考

として名を持っている私がいることを試してみました:それは動作しますが、私はそれがする必要がある

public static Bitmap loadBitmap(Context context, String picName) { 

    Bitmap bitmap = null; 
    FileInputStream fileInputStream; 
    try { 
     fileInputStream = context.openFileInput(picName); 
     bitmap = BitmapFactory.decodeStream(fileInputStream); 
     fileInputStream.close(); 

    } catch (FileNotFoundException e) { 
     Log.d(TAG, "file not found"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.d(TAG, "io exception"); 
     e.printStackTrace(); 
    } 
    return bitmap; 
} 

ファイルであること

答えて

1

Fileオブジェクトで作業する場合は、yoあなたは一貫してそうする。ファイルを転送する場所のFileを作成する場合は、getFilesDir()またはgetCacheDir()をベースに使用します(例:new File(getCacheDir(), picName))。次に、openFileOutput()openFileInput()の代わりにFileOutputStreamFileInputStreamをI/Oに使用してください。

+0

このファイルは、カメラの意図による画像です。私はそれをImageViewに表示する必要があります/それを縮小するサイズ。私はそれをPOSTリクエストを介して送信するためのファイルとしてのみ必要とします。その時点でビットマップを取得して変換する方が効率的ではないでしょうか? –

+0

@ An-droid: "ビットマップを取得してその時に変換する方が効率的ではないでしょうか?" - 申し訳ありませんが、私はあなたがこれによって何を意味するのか分かりません。 – CommonsWare

+0

私は、表示目的でビットマップを使用して、それをPost要求で送信する必要があるときにFileに変換する方が効率的ではないでしょうか? –

関連する問題