Save Bitmap into File and return File having bitmap image

前端 未结 3 1166
慢半拍i
慢半拍i 2020-12-05 11:11

I have a problem to save Bitmaps into files. My method is like this:

private File savebitmap(Bitmap bmp) {
    String extStorageDirectory = Environment.getEx         


        
相关标签:
3条回答
  • 2020-12-05 11:29

    I try to make some corrections on your code I assume that you want to use filename instead of bitmap as parameter

     private File savebitmap(String filename) {
          String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
          OutputStream outStream = null;
    
          File file = new File(filename + ".png");
          if (file.exists()) {
             file.delete();
             file = new File(extStorageDirectory, filename + ".png");
             Log.e("file exist", "" + file + ",Bitmap= " + filename);
          }
          try {
             // make a new bitmap from your file
             Bitmap bitmap = BitmapFactory.decodeFile(file.getName());
    
             outStream = new FileOutputStream(file);
             bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
             outStream.flush();
             outStream.close();
          } catch (Exception e) {
             e.printStackTrace();
          }
          Log.e("file", "" + file);
          return file;
    
       }
    
    0 讨论(0)
  • 2020-12-05 11:53

    You can't write like this

     File file = new File(bmp + ".png");
    

    and this line is also wrong

    file = new File(extStorageDirectory, bmp + ".png");
    

    You have to give string value and not bitmap.

     File file = new File(filename + ".png"); 
    
    0 讨论(0)
  • 2020-12-05 11:54

    Change File file = new File(bmp + ".png"); to File file = new File(extStorageDirectory,"bmp.png"); like you did nearly the second time.

    0 讨论(0)
提交回复
热议问题