代码里面有详细的解释,我就不多说了
//处理并保存图像
private File dealPhoto(Bitmap photo){
FileOutputStream fileOutputStream = null;
//图片的名称,已时间命名
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); //时间格式
Date date = new Date(System.currentTimeMillis()); //当前时间
String photoName = format.format(date); //格式化名称
//图片存放地址
File saveDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); //保存到系统图库中
File file = new File(saveDir,photoName+".jpg"); //在这个路径下生成这么一个文件生成这么一个文件
try {
fileOutputStream = new FileOutputStream(file); //将本地图片读成流
photo.compress(Bitmap.CompressFormat.JPEG,100,fileOutputStream); //保存图片到本地,100是压缩比率,表示100%压缩 } catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
if (photo != null && photo.isRecycled()){
photo.recycle(); //释放内存
}
try {
if (fileOutputStream != null) {
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}