android把内存卡中的图片或者其他的文件转存在其他的路径中
来源:互联网 发布:实时数据库 编辑:程序博客网 时间:2024/04/28 12:03
这是一个比较简单的问题,但是也是我们经常回遇到的问题,就是在Android的开发过程中,如何将内存卡的图片或者其他的文件转存,然后对这个文件进行处理,因为我们不能对原文件进行处理,最近正在做图片方面的android项目,所以用到了这方面的知识,就和大家分享一下吧。
private void string2File() {tempFiles = new File[resultFileList.size()];passFileMap = new HashMap<String, File>();for (int i = 0; i < resultFileList.size(); ++i) {String name = resultFileList.get(i).substring(resultFileList.get(i).lastIndexOf("/") + 1);name = getCacheDir(mContext) + "/" + name;File file = new File(resultFileList.get(i));tempFiles[i] = new File(name);Uri uri = Uri.fromFile(tempFiles[i]);try {Bitmap bitmap = decodeFile(file, 1000);if (!tempFiles[i].exists()) {tempFiles[i].createNewFile();}FileOutputStream out = new FileOutputStream(tempFiles[i]);bitmap.compress(Bitmap.CompressFormat.JPEG, 60, out);out.flush();out.close();passFileMap.put(tempFiles[i].getAbsolutePath(), tempFiles[i]);// tempFiles[i].delete();} catch (Exception e) {// TODO: handle exception}}}private Bitmap decodeFile(File f, int bmpsize) {if (f == null || !f.exists())return null;try {BitmapFactory.Options o = new BitmapFactory.Options();o.inJustDecodeBounds = true;o.inPreferredConfig = Bitmap.Config.ARGB_8888;o.inInputShareable = true;o.inPurgeable = true;BitmapFactory.decodeStream(new FileInputStream(f), null, o);final int REQUIRED_SIZE = bmpsize;int width_tmp = o.outWidth, height_tmp = o.outHeight;int scale = 1;if (width_tmp > REQUIRED_SIZE || height_tmp > REQUIRED_SIZE) {if (width_tmp > height_tmp) {scale = width_tmp / REQUIRED_SIZE;} else {scale = height_tmp / REQUIRED_SIZE;}}// decode with inSampleSizeBitmapFactory.Options o2 = new BitmapFactory.Options();o2.inSampleSize = scale;o2.inPreferredConfig = Bitmap.Config.ARGB_8888;o2.inInputShareable = true;o2.inPurgeable = true;Bitmap bmp = BitmapFactory.decodeStream(new FileInputStream(f),null, o2);return bmp;} catch (FileNotFoundException e) {}return null;}
我们是先取出原文件,对他进行特定的处理,例如图片的话,可以进行压缩什么的,然后将处理之后的图片存放到新的文件中,这样就不会对原文件造成影响。
这种情况在处理本地图片的压缩中非常常见,希望能够给大家一点启示吧。
0 0
- android把内存卡中的图片或者其他的文件转存在其他的路径中
- 图片或者其他文件在数据库的存储方式详解
- css中引用图片或者其他文件的url写法
- 在magento的xml文件中加入图片images,或者一些其他的html代码
- 如何把上传文件的浏览按钮换成其他样式 或者图片
- XML文件或者其他文件的源路径获取方式
- 在Eclipse中编译apk时,把其他的apk做为库文件导入
- C#中 存在主界面中的菜单项,在其他类中或者界面中,找不到的问题
- 通过formFile实现上传文件,图片,或者其他,struts中继承action和dispatchAction的区别和用法
- iOS 把模拟器中的的.app文件给其他小伙伴,放到他们的模拟器中运行的方法
- OSS上传图片,文件或者其他流
- 关于解决WIN8或者其他系统只在桌面或文件管理器中右键时间慢的原因
- 在用户上传的图片上加上版权或者一些其他的附加文字信息
- Android 布局文件中使用其他布局文件的方法
- Android 应用中启动其他应用 && 在页面中寻找其他页面的控件
- 图片里面存放其他文件的方法
- Eclipse在已创建的project中导入其他文件
- 在jar中引入其他文件的写法
- memest用法
- php 访问 Webservice (基于linux c/c++ gSOAP )
- 棋盘游戏 - HDU 1281 二分图匹配
- ios之基础tableview的问题总结
- 中华文化的基本脉络
- android把内存卡中的图片或者其他的文件转存在其他的路径中
- xinren
- python3 多线程
- 套接字相关
- jquery-ui fullCalendar可用于设计日程管理的控件
- Java中String的编码问题
- js设置光标位置
- Android 为什么动态广播接收器比静态广播接收器要接受的早
- 具有相同的名称