android - 将位图从imageview存储到标清

  显示原文与译文双语对照的内容
0 0

我正在尝试保存一个在imageview上显示的位图。 我所理解的是我需要

  1. 将位图转换为流。
  2. 将该流写入sd卡上的文件。

这就是我所做


try {
 File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
 File file = new File(path,"name.png");
 FileOutputStream out = null;
 if (file.exists()) {
//do something awesome

 } else {

 out = new FileOutputStream(file);
 currentimage.compress(Bitmap.CompressFormat.PNG, 100, out);
 }
 out.close();
 } catch (Exception e) {
 e.printStackTrace();
 }

我试图更改保存的文件名我理解它将进入FileOutputStream但不十分肯定

时间: 原作者:

0 0

你的代码看起来正确,唯一的问题是你没有关闭你的OutputStream 。 你需要添加


try {
 out.close();
} catch (IOExcetion ex) {
}

到它。

0 0

你需要通过扩展到 public 图片目录的路径来提供文件名。


FileOutputStream out = new FileOutputStream(new File(path,"name.png"));

或者,如果你想检查它是否已经存在:


File file = new File(path,"name.png");
if (file.exists()) {
//do something awesome
//perhaps save over top
//perhaps pick another name
} else {
//save it
 FileOutputStream out = new FileOutputStream(file);
 currentimage.compress(Bitmap.CompressFormat.PNG, 100, out);
}

...