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

在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格式保存在内部存储中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-10-26 15:57:30

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

android将Bitmap对象保存到SD卡中的方法

  android将Bitmap对象保存到SD卡中的方法          这篇文章主要介绍了android将Bitmap对象保存到SD卡中的方法,涉及Android读写SD卡数据的方法,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Bitmap logoBitmap = BitmapFactory.decodeResourc

Android传递Bitmap对象在两个Activity之间_Android

通过内部存储方式实现了在两个Activity之间传递Bitmap对象以及其它支持串行化的Java对象,关键点有如下: 1.  HTTP客户端下载图片,通过ImageView对象显示 2.  把ImageView上的Bitmap对象从当前Activity传递到另外一个Activity中并显示出来 3.  基于串行化传递Java对象数据 首先看我是怎么实现HTTP客户端下载图片,通过异步Task接口实现HTTP客户端下载图片并通过Handler来更新ImageView,代码如下: package c

Android开发入门(十八)文件 18.1 保存到内部存储设备

SharedPreferences对象能够让你去保存一些"键值对"类型的数据,比如用户id,生日,性别,身份证 号等等.但是,有的时候你需要去使用传统的文件系统去保存数据.例如你可能想要去保存一篇文章,而这 篇文章要被展示在你的应用中.在Android系统中,你也可以使用java.io包去实现这个功能. 在 Android系统中,第一种保存文件的方法是存储到内部设备.下面展示如何保存用书输入的字符串到内部存储 设备. 1. 创建一个工程,Files. 2. main.xml中的代码.

asp.net后台cs中的JSON格式变量在前台Js中调用方法

代码如下: //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login_jg : System.Web.UI.Page { protected void Page_Load(object sender, Ev

asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)_实用技巧

复制代码 代码如下: //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login_jg : System.Web.UI.Page { protected void Page_Load(object sende

android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte

http://blog.csdn.net/z104207/article/details/6634774 [java] view plaincopy package com.bingo.util;      import java.io.BufferedOutputStream;   import java.io.ByteArrayOutputStream;   import java.io.File;   import java.io.FileOutputStream;   import ja

Android中利用C++处理Bitmap对象的实现方法

相信有些Android&图像算法开发者和我一样,遇到过这样的状况:要对Bitmap对象做一些密集计算(例如逐像素的滤波),但是在java层写循环代码来逐像素操作明显是不现实的,因为Java代码的运行速度太慢,而一副很小的240*320图像就有76800个像素,如果考虑到RGB三通道(或者ARGB四通道),还要对这个数量乘以3/4.因此对图像的密集计算一般都利用Jni接口,用C++实现.那么问题来了,怎么把Bitmap中的像素数据从Java层传到C++层? 做法1:之前的做法 我之前的做法是这样的

Android中把bitmap存成BMP格式图片的方法

最近的项目,做图片的另存为功能,需要把图片存成jpg,png,bmp.对于jpg和png来说相对简单,android提供了bitmap.compress()方法可以马上解决.但是对于BMP这种格式,没有很好的支持.我花了几天时间在网上找了很久,都没有找到有用的答案,同样也发了疑问,没有合适的解答. package com.test.bitmap; import java.io.FileNotFoundException; import java.io.FileOutputStream; impo

调试-android sudio中,如何在debug的时候预览bitmap对象?

问题描述 android sudio中,如何在debug的时候预览bitmap对象? 5C android sudio中,如何在debug的时候预览bitmap对象? 对bitmap进行操作也行,只要能看见图.我有一次做如片裁剪的时候,误打误撞预览出来了,确实是可以的,后来怎么都不行了,求解. 解决方案 写入文件,在电脑上查看 解决方案二: Android bitmap对象序列化 解决方案三: 图片有问题才能看吧,会不会跳到了一个本地的图片--