Android 使用内置的Camera应用程序捕获图像
来源:互联网 发布:孕妇大肚照软件 编辑:程序博客网 时间:2024/06/13 05:33
Camera Intent Filter过滤器
Camera应用程序在清单文件中指定了以下意图过滤器。
<intent-filter><action android:name="android.media.action.IMAGE_CAPTURE"/><category android:name="android.intent.category.DEFAULT"></intent-filter>
从Camera应用程序返回数据
通过startActivityForResult方法,允许我们访问从Camera应用程序中返回的数据,以位图(Bitmap)形式捕获的图像。
代码参考如下:
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(i, 0);--------protected void onActivityResult(int requestCode, int resultCode, Intent intent){super.onActrivityResult(requestCode, resultCode, intent);if(requestCode == RESULT_OK){// get the bitmapBundle extras = intent.getExtras();Bitmap bmp = (Bitmap) extras.get("data");// use the bitmapmImageView.setImageBitmap(bmp);}}
注意点:
1.使用MediaStore类中的常量ACTION_IMAGE_PICTURE,
而不要直接使用“android.media.action.IMAGE_CAPTURE”, 使用常量更能适应未来的变化。
2.返回的图像可能较小,可根据具体机器进行调试修改。
捕获大图并指定保存位置
String imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/helloBob.jpg";File imageFile = new File(imageFilePath);Uri imageFileUri = Uri.fromFile(imageFile);-------Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);startActivityForResult(i, 0);
获取到大图后,需要优化加载Bitmap,不然可能出现大图加载内存溢出的问题,请参考我的另一篇文章:
Android Bitmap在不加载图片的前提获取宽高
阅读全文
1 0
- 使用内置的Camera应用程序捕获图像
- 使用内置的Camera应用程序捕获图像
- Android 使用内置的Camera应用程序捕获图像
- Android 使用内置的Camera应用程序捕获图像
- Android使用内置Camera应用程序进行图像捕获
- 使用内置的Camera捕获图像
- Android图像处理简介の使用内置Camera应用程序进行图像捕获
- 使用内置的Camera应用程序
- android Camera捕获数据
- Android Camera的图像处理
- Android Camera的使用
- Android多媒体学习十五:使用在内置的Camera录制视频
- Android多媒体学习十五:使用在内置的Camera录制视频
- 一起学android之从Camera捕获图像讲解(38)
- Android Camera的使用 (三)
- 使用Android NDK内置编译器为Android编译Linux应用程序
- 捕获事件:运行android应用程序
- android 彻底关闭应用程序 返回键的捕获
- 循环试题二
- jQuery.extend 函数使用详解
- 设计模式之禅笔记-状态模式
- 畅通工程(最小生成树)【HDU】-1863
- Android学习之调用系统联系人页面返回联系人信息
- Android 使用内置的Camera应用程序捕获图像
- :2/1,3/2,5/3,8/5,13/8,21/13... 编写方法,求出这个数列的前20项之和。
- web性能优化之规范篇
- 利用openssl crypto进行RSA非对称加密签名
- Android开发 第八课 布局 LinearLayout
- 安卓学习中遇到的问题及经验小记
- Git版本控制详解
- KNN的C++实现
- RecyclerView中放入EditText出现的问题