2012-01-31 5 views

答えて

17

imageViewからビットマップを取得するには:

imageview.buildDrawingCache(); 
Bitmap bm=imageview.getDrawingCache(); 

ファイルに保存するには:

OutputStream fOut = null; 
Uri outputFileUri; 
try { 
    File root = new File(Environment.getExternalStorageDirectory() 
     + File.separator + "folder_name" + File.separator); 
    root.mkdirs(); 
    File sdImageMainDirectory = new File(root, "myPicName.jpg"); 
    outputFileUri = Uri.fromFile(sdImageMainDirectory); 
    fOut = new FileOutputStream(sdImageMainDirectory); 
} catch (Exception e) { 
    Toast.makeText(this, "Error occured. Please try again later.", 
    Toast.LENGTH_SHORT).show(); 
} 
try { 
    bm.compress(Bitmap.CompressFormat.PNG, 100, fOut); 
    fOut.flush(); 
    fOut.close(); 
} catch (Exception e) { 
} 
+0

おかげで、私はこれを試してみましょう@akkilis .. .. @Seshu Vinay –

+0

エラーメッセージが表示されました。「エラーが発生しました。しばらくしてからもう一度お試しください。ルートディレクトリに作成されたディレクトリも見えませんか? –

+3

マニフェストでパーミッションを追加:

-1

まず、imageViewのdrawingCache(ビットマップ)を取得し、ビットマップをSDCardに保存します。

ファイルフォルダ=新しいファイル(Environment.getExternalStorageDirectory()+ "/ folder /"); if(!folder.exists())folderAppointment.mkdirs();

try { 
    this.setDrawingCacheEnabled(true); 
    FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory()+"/folder/file")); 
    Bitmap bitmap = YOUR_IMAGE_VIEW.getDrawingCache(); 
    bitmap.compress(CompressFormat.JPEG, 100, fos); 
    fos.flush(); 
    fos.close(); 
} catch (FileNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+0

おかげで、私はこれを試してみましょう

FileOutputStream out = new FileOutputStream(filePath); bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 

第二には、... –

2

あなたは

  1. に持っているあなたの永続ストレージに画像を保存。
  2. MediaStoreコンテンツプロバイダーにエントリを追加します。

まず、次のコードを使用して達成することができる1:

MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, imagePath, name, description); 
+0

私はこれを試してみましょう.... @Ragunath Jawahar –

関連する問題