2016-09-22 4 views
-1

私はイメージをファイルに変換する必要があるアプリケーションを開発しています。ここで私はそれを実装しようとした方法は次のとおりです。 -イメージインテントをアンドロイドのファイルタイプに変換する方法

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 

    if(resultCode==RESULT_OK) 
    { 
     if(requestCode==CAMERA_REQUEST) 
     { 
      File camImage= (File) data.getExtras().get("data"); 
     } 
    } 
} 

そこにはエラーはないのですが、私は写真を撮ると、それがクラッシュし、[OK]ボタンを押すと、必ず。 "データ"をファイルに変換する方法はありますか? TIA

答えて

0

dataエクストラはBitmapです。 compress() on the Bitmapに電話してファイルに書き込むことができます(OutputStream)。バックグラウンドスレッドでこの作業を行ってください。

0

は、それはあなたを助けることを願っています:ファイル名に

//create a file to write bitmap data 
File f = new File(context.getCacheDir(), "filename"); 
f.createNewFile(); 

//Convert bitmap to byte array 
Bitmap bitmap = your bitmap; 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); 
byte[] bitmapdata = bos.toByteArray(); 

//write the bytes in file 
FileOutputStream fos = new FileOutputStream(f); 
fos.write(bitmapdata); 
fos.flush(); 
fos.close(); 

あなたはディレクトリをSDカードにあなたのパスを設定することができます。

0

はこれを試してください。..

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     super.onActivityResult(requestCode, resultCode, data); 

     if(resultCode==RESULT_OK) 
     { 
      if(requestCode==CAMERA_REQUEST) 
      { 
       String path= (String) data.getExtras().get("data"); 
       File file = new File(path); 
      } 
     } 
    } 
関連する問題