全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 通过Intent调用系统拍照程序出现图片太小的问题解决办法

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小时内与您取得联系。