Android中将Bitmap对象以PNG格式保存在内部存储中的方法

所属分类: 软件编程 / Android 阅读数: 28
收藏 0 赞 0 分享

在Android中进行图像处理的任务时,有时我们希望将处理后的结果以图像文件的格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象的数据以PNG格式保存下来的方法。

1、添加权限

由于是对SD card进行操作,必不可少的就是为你的程序添加读写权限,需要添加的内容如下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

对这两个权限进行简要解释如下:

"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"-->允许挂载和反挂载文件系统可移动存储
"android.permission.WRITE_EXTERNAL_STORAGE"-->模拟器中sdcard中创建文件夹的权限

2、保存图片的相关代码

代码比较简单,在这里存储位置是写的绝对路径,大家可以通过使用Environment获取不同位置路径。

Tips:在使用该函数的时候,记得把文件的扩展名带上。

private void saveBitmap(Bitmap bitmap,String bitName) throws IOException
  {
    File file = new File("/sdcard/DCIM/Camera/"+bitName);
    if(file.exists()){
      file.delete();
    }
    FileOutputStream out;
    try{
      out = new FileOutputStream(file);
      if(bitmap.compress(Bitmap.CompressFormat.PNG, 90, out))
      {
        out.flush();
        out.close();
      }
    }
    catch (FileNotFoundException e)
    {
      e.printStackTrace();
    }
    catch (IOException e)
    {
      e.printStackTrace();
    }
  }

PS:下面看下android中Bitmap对象怎么保存为文件

Bitmap类有一compress成员,可以把bitmap保存到一个stream中。

例如:

public void saveMyBitmap(String bitName) throws IOException { 
  File f = new File("/sdcard/Note/" + bitName + ".png"); 
  f.createNewFile(); 
  FileOutputStream fOut = null; 
  try { 
      fOut = new FileOutputStream(f); 
  } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
  } 
  mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut); 
  try { 
      fOut.flush(); 
  } catch (IOException e) { 
      e.printStackTrace(); 
  } 
  try { 
      fOut.close(); 
  } catch (IOException e) { 
      e.printStackTrace(); 
  } 
} 

总结

以上所述是小编给大家介绍的Android中将Bitmap对象以PNG格式保存在内部存储中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Android中加入名片扫描功能实例代码

这篇文章主要介绍了Android中加入名片扫描功能实例代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Android仿微信发表说说实现拍照、多图上传功能

这篇文章主要为大家详细介绍了Android仿微信发表说说实现拍照、多图上传功能,使用Retrofit2.0技术,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

设置Android系统永不锁屏永不休眠的方法

在进行Android系统开发的时候,有些特定的情况需要设置系统永不锁屏,永不休眠。本篇文章给大家介绍Android 永不锁屏,开机不锁屏,删除设置中休眠时间选项,需要的朋友一起学习吧
收藏 0 赞 0 分享

Android Retrofit 2.0框架上传图片解决方案

这篇文章主要介绍了Android Retrofit 2.0框架上传一张与多张图片解决方案,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义等待对话框

这篇文章主要为大家详细介绍了Android自定义等待对话框的实现方法,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android中Window添加View的底层原理

这篇文章主要介绍了Android中Window添加View的底层原理,需要的朋友可以参考下
收藏 0 赞 0 分享

Android调用系统默认浏览器访问的方法

这篇文章主要介绍了Android调用系统默认浏览器访问的方法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发退出程序的方法汇总

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,子窗口B又调用子窗口C,back返回子窗口B后,在B中如何关闭整个Android应用程序呢? 下面脚本之家小编就给大家介绍android开发退出程序的几种方法,感兴趣的朋友参考下吧
收藏 0 赞 0 分享

Android程序开发中单选按钮(RadioGroup)的使用详解

在android程序开发中,无论是单选按钮还是多选按钮都非常的常见,接下来通过本文给大家介绍Android程序开发中单选按钮(RadioGroup)的使用,需要的朋友参考下吧
收藏 0 赞 0 分享

Android实现仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中

这篇文章主要介绍了Android实现仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多