2011-12-31 16 views

答えて

0

まず、電話の外部ストレージディレクトリへのパスを取得してから、ギャラリーイメージが保存されているディレクトリを取得する必要があります。ほとんどのAndroid機種ではこれでは、/ mnt/SDカード/絵ですが、私はそれがちょうどそのディレクトリにファイルパスを作成し、そのディレクトリにビットマップを書き込むためにOutputStreamを使用した後の代わりに

Environment.getExternalStorageDirectory(); 

を使用して、このパスをハードコーディング示唆していません。

7

ボタンで呼び出し、この関数のonClick

private void saveImage() { 

    File myDir=new File("/sdcard/saved_images"); 
    myDir.mkdirs(); 
    Random generator = new Random(); 
    int n = 10000; 
    n = generator.nextInt(n); 
    String fname = "Image-"+ n +".jpg"; 
    File file = new File (myDir, fname); 
    if (file.exists()) file.delete(); 
    try { 
     FileOutputStream out = new FileOutputStream(file); 
     finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
     out.flush(); 
     out.close(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

チェックこのsave bitmap

1

は文書化されていない、悪いフォーマットされた、原因不明のコード唯一の答えは、この

 Bitmap toDisk = Bitmap.createBitmap(w1,h1,Bitmap.Config.ARGB_8888); 
     setBitmap(toDisk); 
     Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ban_background); 
     Bitmap resizeImage1=Bitmap.createScaledBitmap(myBitmap,590,350,false); 
      try { 
        toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/image".jpg"))); 

       } catch (FileNotFoundException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
+7

-1を試してみてください。 – WarrenFaith

関連する問題