Android从Camera中获取图片的两种方法
方法一:
此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰
|
1
2
3
4
5
6
|
try Intent cameraIntent =new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_WITH_DATA); }catch (ActivityNotFoundException e) { e.printStackTrace(); } |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Bundle bundle = data.getExtras();bmp_selectedPhoto = (Bitmap) bundle.get("data");if null) bmp_selectedPhoto.recycle();bmp_selectedPhoto = (Bitmap) data.getExtras().get("data");// int scale = ImageThumbnail.reckonThumbnail(bitMap.getWidth(),// bitMap.getHeight(), 500, 600);// bitMap = ImageThumbnail.PicZoom(bitMap,// (int) (bitMap.getWidth() / scale),// (int) (bitMap.getHeight() / scale));// bitMap = ThumbnailUtils.extractThumbnail(bitMap, 200, 200);if(bmp_selectedPhoto !=null){ home_view.setBackground(newBitmapDrawable(getResources(), bmp_selectedPhoto));} |
方法二:
此方法所拍即所得,但是会在Sd卡上产生临时文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Intent cameraIntent =new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); File appDir =new File(Environment.getExternalStorageDirectory() +"/KengDieA"); if(!appDir.exists()) { appDir.mkdir(); } mUri = Uri.fromFile(newFile(Environment.getExternalStorageDirectory() +"/KengDieA/", "kengDiePic" + String.valueOf(System.currentTimeMillis()) +".jpg")); cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mUri); try{ cameraIntent.putExtra("return-data",true); startActivityForResult(cameraIntent, CAMERA_WITH_DATA); }catch (Exception e) { e.printStackTrace(); } |
|
1
2
3
4
5
6
7
8
9
10
11
12
|
ContentResolver cr =this.getContentResolver(); try{ if(bmp_selectedPhoto != null)// 如果不释放的话,不断取图片,将会内存不够 bmp_selectedPhoto.recycle(); bmp_selectedPhoto = BitmapFactory.decodeStream(cr .openInputStream(mUri)); }catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } home_view.setBackground(newBitmapDrawable(getResources(), bmp_selectedPhoto)); |
Android从Camera中获取图片的两种方法的更多相关文章
- php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
- python中执行shell的两种方法总结
这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...
- vue中使用echarts的两种方法
在vue中使用echarts有两种方法一.第一种方法1.通过npm获取echarts npm install echarts --save 2.在vue项目中引入echarts 在 main.js 中 ...
- PHP中获取星期的几种方法
PHP中获取星期的几种方法 PHP星期几获取代码: 1 date(l); 2 //data就可以获取英文的星期比如Sunday 3 date(w); 4 //这个可以获取数字星期比如123,注意0 ...
- [转]Qt中定时器使用的两种方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...
- AE 将地图导出为图片的两种方法
在ArcGIS的开发中,我们经常需要将当前地图打印(或是转出)到图片文件中.将Map或Layout中的图象转出有两种方法,一种为通过IActiveView的OutPut函数,另外一种是通过IExpor ...
- UIImage加载图片的两种方法区别
Apple官方的文档为生成一个UIImage对象提供了两种方法加载图片: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路 ...
- Ajax中解析Json的两种方法详解
eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name&qu ...
- input上传图片(file),预览图片的两种方法。blob与base64编码
上传图片时一般都需要预览,我一般用这两种方法来实现.base64编码可以直接上传到后台,后台解析下,得到的文件就会比较小了,省去了压缩图片这一步了. //获取对象input file 的图片地址,放进 ...
随机推荐
- 51nod1128 正整数分组V2
[题解] 二分一个最大值,check一下分出来的组数是否小于等于k即可. #include<cstdio> #include<algorithm> #define LL lon ...
- 1289大鱼吃小鱼(STL中栈的应用)
>>点击进入测试<< 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右.游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼.从左到右给出每条鱼的大小和游动的方向 ...
- Ural 1114 Boxes
Boxes Time Limit: 600ms Memory Limit: 16384KB This problem will be judged on Ural. Original ID: 1114 ...
- RabbitMQ-基本概念(一)
整体架构模型 Producer 消息生产者,生产者创建消息然后发布到RabbitM中,消息一般包含2个部分 消息体(payload)和标签 消息体就是带有业务逻辑结构的数据,消息标签用来表述这条消息, ...
- image url to base64
image url to base64 https://www.base64-image.de/ https://www.browserling.com/tools/image-to-base64 h ...
- [BZOJ2594] [Wc2006]水管局长数据加强版(LCT + kruskal + 离线)
传送门 WC这个题真是丧心病狂啊,就是想学习一下怎么处理边权,给我来了这么一个破题! ORZ hzwer 临摹黄学长代码233 但还是复杂的一匹 理一下思路吧 题目大意:给定一个无向图,多次删除图中的 ...
- Win32编程API 基础篇 -- 3.消息处理 根据英文教程翻译
消息处理 例子:窗口点击 好的,现在我们已经得到一个窗口了,但我们什么也做不了除了DefWindowProc()允许窗口大小被调整,最大最小化等...这不是很激动人心啊 在接下来的一小节中我将向你展示 ...
- 问答:怎样规划CSS 中 的命名方式 怎样看待 CSS 中 BEM 的命名方式?
好多盆友 非常纠结 css命名规则 怎么弄,还没起步就被绊住了.那么今天蝈蝈就针对这个问题来讨论一下 没什么技术 含量.但却对效率开发至关重要的 "问题". 下文是一些知乎大神的个 ...
- iOS中xib与storyboard原理,与Android界面布局的异同
用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...
- jeewx 微信管家 - 举办商业版本号免费试用活动
jeewx 微信管家 举办商业版本号免费试用活动 1,关注微信账号:jeecg_scott 2.输入:"jeewx商业版本号试用活动: 你的邮箱(比如:zhangsan@11.com)&qu ...