android 图片处理经验分享
2013-08-04 17:23
232 查看
在设置ImageView资源的时候,这时的图片是来自SD卡,查看API很容易就会看到view.setImageUri(Uri u)这个函数。所以一般会这样写:
ImageView view = (ImageView)findViewById(...);
File file = new File(path);
Uri uri = Uri.from(file);
view.setImageUri(uri);
但是这样做是不行的,因为setImageUri这个函数使不能读取SD卡中的文件的,只能读取手机本身的文件。
所以改用以下这种方式:
Bitmap bit = BitmapFactory.decodeFile("/sdcard/image/test.jpg"); //自定义//路径
iv.setImageBitmap(bit);
用这种方式的时候,如果图片太大,很可能会出现这样的bug:
Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
解决方法是:
FileInputStream f = new FileInputStream(path);
Bitmap bm = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;//图片的长宽都是原来的1/8
BufferedInputStream bis = new BufferedInputStream(f);
bm = BitmapFactory.decodeStream(bis, null, options);
view.setImageBitmap(bm);
ImageView view = (ImageView)findViewById(...);
File file = new File(path);
Uri uri = Uri.from(file);
view.setImageUri(uri);
但是这样做是不行的,因为setImageUri这个函数使不能读取SD卡中的文件的,只能读取手机本身的文件。
所以改用以下这种方式:
Bitmap bit = BitmapFactory.decodeFile("/sdcard/image/test.jpg"); //自定义//路径
iv.setImageBitmap(bit);
用这种方式的时候,如果图片太大,很可能会出现这样的bug:
Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
解决方法是:
FileInputStream f = new FileInputStream(path);
Bitmap bm = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;//图片的长宽都是原来的1/8
BufferedInputStream bis = new BufferedInputStream(f);
bm = BitmapFactory.decodeStream(bis, null, options);
view.setImageBitmap(bm);
相关文章推荐
- android 图片处理经验分享
- Android处理Bit图片的几个函数分享
- 【Android图像处理】从相册选择一张图片并分享
- Android-高效加载图片经验分享
- 分享的是Android图像特效处理的小技巧,比如圆角、倒影、还有就是图片缩放、Drawable转化为Bitmap、Bitmap转化为Drawable等等
- 近期Responsive web design项目经验分享-高分辨率图片处理篇
- 分享一个Android中的图片处理工具
- android混淆打包经验分享!+自己体会
- android 图片的模糊化处理,效果类似超级课程表的“我的中心"里头像背景,看起来很炫
- JSP处理表单的一些经验分享
- 分享Android图片平滑滚动组件Glide源码
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- Android进阶图片处理之DiskLruCache解析 硬盘缓存方案
- Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等
- android material theme 分享一张图片
- 经验分享 PHP显示图片
- android调用系统分享实现朋友圈同时分享文字和图片(可多张)
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- Android-Volley网络通信框架(二次封装数据请求和图片请求(包括处理请求队列和图片缓存))
- android图片圆角处理,重写onDraw方法