Android 通过Intent调用系统拍照程序出现图片太小的问题解决办法
Intent it = newIntent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(it, Activity.DEFAULT_KEYS_DIALER);
按下拍照键后,会返回到你的activity,所以你的activity要在onActivityResult方法里加一个处理,
protectedvoidonActivityResult(intrequestCode, intresultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try{
Bundle extras = data.getExtras();
Bitmap b = (Bitmap) extras.get("data");
take = b;
ImageView img = (ImageView)findViewById(R.id.image);
img.setImageBitmap(take);
}catch(Exception e){
}
}
但是这样你会发现这个bitmap尺寸太小了。明显是被压缩过了,要像返回未被压缩的照片,那么你要给调用系统拍照程序intent加上参数,指定图片输出的位置。
Intent it = newIntent("android.media.action.IMAGE_CAPTURE");
it.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(newFile(F.SD_CARD_TEMP_PHOTO_PATH)));
startActivityForResult(it, Activity.DEFAULT_KEYS_DIALER);
这样就是大图片返回了。
protectedvoidonActivityResult(intrequestCode, intresultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try{
ImageView img = (ImageView)findViewById(R.id.image);
take = U.ResizeBitmap(U.getBitmapForFile(F.SD_CARD_TEMP_PHOTO_PATH), 640);
img.setImageBitmap(take);
imgflag = true;
}catch(Exception e){
}
}
另外注意一下,返回的那个bitmap会很大,你用完以后要把它回收掉,不然你很容易内存报oom错误
public static Bitmap ResizeBitmap(Bitmap bitmap, intnewWidth) {
intwidth = bitmap.getWidth();
intheight = bitmap.getHeight();
floattemp = ((float) height) / ((float) width);
intnewHeight = (int) ((newWidth) * temp);
floatscaleWidth = ((float) newWidth) / width;
floatscaleHeight = ((float) newHeight) / height;
Matrix matrix = newMatrix();
// resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// matrix.postRotate(45);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
bitmap.recycle();
return resizedBitmap;
}
以上就是Android 调用系统拍照出现问题的解决办法,如有疑问大家请留言讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 通过Intent调用系统拍照程序出现图片太小的问题解决办法
# Android Intent调用 Uri的方法总结
# Android编程实现全局获取Context及使用Intent传递对象的方法详解
# Android编程中Intent实现页面跳转功能详解
# Android使用Intent获取联系人信息
# Android编程使用Intent传递图片的方法详解
# Android Studio Intent隐式启动
# 发短信
# 拨号
# 打电话
# 访问网页等实例代码
# Android Intent封装的实例详解
# 解决办法
# 里加
# 过了
# 如有
# 要在
# 要把
# 希望能
# 按下
# 要给
# 谢谢大家
# 太小
# 你很
# 你会发现
# 用完
# 未被
# 要像
# 大图片
# 太小了
# img
# ImageView
相关文章:
C++用Dijkstra(迪杰斯特拉)算法求最短路径
IOS倒计时设置UIButton标题title的抖动问题
如何彻底卸载建站之星软件?
建站之星如何实现PC+手机+微信网站五合一建站?
如何挑选优质建站一级代理提升网站排名?
,交易猫的商品怎么发布到网站上去?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
济南企业网站制作公司,济南社保单位网上缴费步骤?
深圳网站制作培训,深圳哪些招聘网站比较好?
建站之星代理商如何保障技术支持与售后服务?
linux top下的 minerd 木马清除方法
广州营销型建站服务商推荐:技术优势与SEO优化解析
建站之星备案流程有哪些注意事项?
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站之星安装后界面空白如何解决?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何快速查询网址的建站时间与历史轨迹?
企业微网站怎么做,公司网站和公众号有什么区别?
h5在线制作网站电脑版下载,h5网页制作软件?
XML的“混合内容”是什么 怎么用DTD或XSD定义
,网页ppt怎么弄成自己的ppt?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
C#如何序列化对象为XML XmlSerializer用法
非常酷的网站设计制作软件,酷培ai教育官方网站?
潮流网站制作头像软件下载,适合母子的网名有哪些?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何用搬瓦工VPS快速搭建个人网站?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
建站168自助建站系统:快速模板定制与SEO优化指南
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何通过西部建站助手安装IIS服务器?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
建站之星24小时客服电话如何获取?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
如何使用Golang安装API文档生成工具_快速生成接口文档
如何正确选择百度移动适配建站域名?
Swift中switch语句区间和元组模式匹配
香港服务器选型指南:免备案配置与高效建站方案解析
盘锦网站制作公司,盘锦大洼有多少5G网站?
香港服务器部署网站为何提示未备案?
C#如何使用XPathNavigator高效查询XML
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
高端云建站费用究竟需要多少预算?
制作证书网站有哪些,全国城建培训中心证书查询官网?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
制作网站怎么制作,*游戏网站怎么搭建?
*请认真填写需求信息,我们会在24小时内与您取得联系。