Convert Bitmap to File
/**
* Convert Bitmap to File (PNG image). Save the image.
*
* @param context context
* @param bitmap bitmap
* @return File file
*/
public static File convertBitmapToFile(Context context, Bitmap bitmap) {
FileOutputStream fOut = null;
File file = null;
//String fileName = Long.toString(System.currentTimeMillis());
try {
file = new File(context.getFilesDir(), generateFileName());
Date date = new Date();
file.setLastModified(date.getTime());
fOut = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut); // bmp is your Bitmap instance
// PNG is a lossless format, the compression factor (100) is ignored
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fOut != null) {
fOut.close();
MediaStore.Images.Media.insertImage(
context.getContentResolver(),
file.getAbsolutePath(),
file.getName(),
file.getName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
/**
* Generate file name
* @return String file name
*/
private static String generateFileName() {
String timeStamp = new SimpleDateFormat("yyyy-MM-dd-HHmmss").format(new Date());
return "MyApp_" + timeStamp;
}