选择本地图片并转化成bitmap
2015-12-18 14:41
239 查看
Intent intent=new Intent();
intent.type("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
starActivityForResult(intent,1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
try {
Uri uri = data.getData();
bitmap = null;
ContentResolver resolver = getContentResolver();
bitmap = BitmapFactory.decodeStream(resolver
.openInputStream(uri));
int width = bitmap.getWidth();
int height = bitmap.getHeight();
float scal = 100 / (float) width;
if (width >= 100) {
Matrix matrix = new Matrix();
matrix.postScale(scal, scal);
pickBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,
height, matrix, true);
bitmap.recycle();// 回收Bitmap的空间
} else {
bitmap = pickBitmap;
}
image_photo.setImageBitmap(pickBitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
intent.type("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
starActivityForResult(intent,1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
try {
Uri uri = data.getData();
bitmap = null;
ContentResolver resolver = getContentResolver();
bitmap = BitmapFactory.decodeStream(resolver
.openInputStream(uri));
int width = bitmap.getWidth();
int height = bitmap.getHeight();
float scal = 100 / (float) width;
if (width >= 100) {
Matrix matrix = new Matrix();
matrix.postScale(scal, scal);
pickBitmap = Bitmap.createBitmap(bitmap, 0, 0, width,
height, matrix, true);
bitmap.recycle();// 回收Bitmap的空间
} else {
bitmap = pickBitmap;
}
image_photo.setImageBitmap(pickBitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关文章推荐
- FFMPEG解码流程
- [Chrome_Error] (failed) net::ERR_INCOMPLETE_CHUNKED_ENCODING 与 nginx 502 bad gateway
- 电流反馈型放大器
- OpenGL(2)——第一个 OpenGL 程序
- 微软改进Win10家庭功能 合理设置让孩子更安全地使用电脑
- Servlet/JSP随笔录
- 区分Activity的四种加载模式
- 【剑指offer】之二叉搜索树的后序遍历序列
- utilities
- 【C/C++学院】(24)Oracle数据库编程--管理oracle
- 监听键盘 防止输入时覆盖掉textfiled
- rebot的使用
- python代码追踪
- java 中转换html 实体编码为汉字---unicode编码(\u)、十进制(&#)、十六进制(&#x)
- 部署SCCM2012之先决条件准备
- hdu-1977 Consecutive sum II
- Android Service学习之IntentService 深入分析
- 消息推送的那些坑
- Android onActivityResult获取返回值的用法
- 细谈会话管理-----Cookie和Session