Android拍照与相册选取图片
做过几次拍照,相册选取图片,但都记不住,这次发表个简单的保存下
private static final int PHOTO_GRAPH = 1;// 拍照private static final int PHOTO_ALBUM = 2; // 相册获取private static final String IMAGE_TYPE = "image/*";
1 public void takePhoto(){ 2 3 String SDState = Environment.getExternalStorageState(); 4 if(SDState.equals(Environment.MEDIA_MOUNTED)) 5 { 6 imgfileName = System.currentTimeMillis() + ".jpg"; 7 Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 8 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File( 9 Environment.getExternalStorageDirectory(), imgfileName))); 10 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); 11 startActivityForResult(intent, PHOTO_GRAPH); 12 dialog.dismiss(); 13 }else{ 14 Toast.makeText(getThis(),"内存卡不存在", Toast.LENGTH_SHORT).show(); 15 } 16 }
拍照
//回调函数 protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(resultCode == RESULT_OK){switch (requestCode) {case NONE:break;case PHOTO_GRAPH://拍照String myJpgPath = Environment.getExternalStorageDirectory()+"/"+imgfileName;if(ImageThumbnail.isFileExit(myJpgPath) == true){img_SFZ.setImageBitmap(ImageThumbnail.getImageThumbnail(myJpgPath, img_SFZ.getWidth(), img_SFZ.getHeight()));}break;case PHOTO_ALBUM://相册获取//照片的原始资源地址Uri originalUri = data.getData(); try {//获取图片的路径:String[] proj = {MediaStore.Images.Media.DATA}; cursor = managedQuery(originalUri, proj, null, null, null); //按我个人理解 这个是获得用户选择的图片的索引值int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst();//最后根据索引值获取图片路径String imgPath = cursor.getString(column_index);if (ImageThumbnail.isFileExit(imgPath) == true) {img_SFZ.setImageBitmap(ImageThumbnail.getImageThumbnail(imgPath, img_SFZ.getWidth(), img_SFZ.getHeight()));}} catch (Exception e) {// TODO: handle exception }break;default:break;}}
/*** 图片压缩显示* @param imagePath* @param width* @param height* @return*/public static Bitmap getImageThumbnail(String imagePath, int width,int height) {Bitmap bitmap = null;BitmapFactory.Options options = new BitmapFactory.Options();options.inJustDecodeBounds = true;// 获取这个图片的宽和高,注意此处的bitmap为nullbitmap = BitmapFactory.decodeFile(imagePath, options);options.inJustDecodeBounds = false; // 设为 false// 计算缩放比int h = options.outHeight;int w = options.outWidth;int beWidth = w / width;int beHeight = h / height;int be = 1;if (beWidth < beHeight) {be = beWidth;} else {be = beHeight;}if (be <= 0) {be = 1;}options.inSampleSize = be;// 重新读入图片,读取缩放后的bitmap,注意这次要把options.inJustDecodeBounds 设为 falsebitmap = BitmapFactory.decodeFile(imagePath, options);// 利用ThumbnailUtils来创建缩略图,这里要指定要缩放哪个Bitmap对象bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,ThumbnailUtils.OPTIONS_RECYCLE_INPUT);return bitmap;}
图片压缩显示
转载于:https://www.cnblogs.com/yhjlh/p/4914144.html
Android拍照与相册选取图片相关推荐
- Android 拍照以及相册中选择(适配高版本)————上传多张照片之压缩处理、在线预览可伸缩放大(二)
______ Introduction ______ 前言 上一篇文章刚给大家总结完,关于上传头像的功能.此文章所述 主要是关于上传头像的具体流程以及如何对照片做裁剪处理,回调给控件显示:当然重中之重 ...
- Android 拍照和相册选择
前几天一直在想写一个简单干净的关于Android 拍照和相册选择的dome,直到今天才有时间去写,下面是图片介绍,资源代码会有上传!供初学者学习指教(代码是Android studio) 1.控件 0 ...
- android拍照所需的权限,eclipse --- Android拍照,相册选择图片以及Android6.0权限管理...
[实例简介] eclipse --- Android拍照,相册选择图片以及Android6.0权限管理 [实例截图] [核心代码] camreainandroidm └── camreainandro ...
- Android拍照和相册+系统裁剪功能返回图片
最近在使用一加3手机,Android系统6.0,进行测试的时候,发现调用手机的拍照和相册选择图片的功能返回的时候都无法调用系统的裁剪功能,Log日志也没有输出有用的信息.经过在网上大量的查找资料,拍照 ...
- android相册路径地址,Android拍照和相册获取图片路径
/** *调用系统相机 */ public voidstartCamera() { Intent intent =newIntent(MediaStore.ACTION_IMAGE_CAPTURE); ...
- android 自定义相册选择,Android通过手机拍照或从本地相册选取图片设置头像
像微信.QQ.微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1.让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像. 2.让用户启动手机的相机拍照,拍完照片后裁剪 ...
- android内容提供器读取图片,android实现拍照或从相册选取图片
从相册或拍照更换图片功能的实现:(取图无裁剪功能) 获取图片方式: (类似更换头像的效果) 1.手机拍照 选择图片: 2.相册选取图片: 本文只是简单实现该功能,页面展示有些简陋,运行效果图如下: 创 ...
- Android手机拍照或从本地相册选取图片设置头像。适配小米、华为、7.0
https://www.jianshu.com/p/9404515fde30 传送门 https://github.com/jiaweizeng/BalaPortrait 设置头像通常有两种方式: 1 ...
- android 小米加载大图,Android手机拍照或从本地相册选取图片设置头像。适配小米、华为、7.0...
1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像. 2,让用户启动手机的相机拍照,拍完照片后裁剪,然后作为头像. 代码如下 MainActivity.Java文件: package ...
- android:拍照或从相册选取图片
从相册或拍照更换图片功能的实现:(取图无裁剪功能) 获取图片方式:(类似更换头像的效果) 手机拍照 选择图片: 相册选取图片: 本文只是简单实现该功能,页面展示有些简陋,运行效果图如下: 创建xml布 ...
最新文章
- Win8总提示安装FLASH插件怎么办?
- Android插件化原理解析——Hook机制之Binder Hook
- PicGo五分钟打造你的私人图床(稳定、快速、免费)
- 许海燕(1987-),女,宁波市智慧城市规划标准发展研究院研究人员.
- Redis通讯协议RESP详解
- 纽约时报:昔日王者Digg能否实现中兴?【独家】
- slice 定义和用法
- 计算机考研评分标准,考研的评分标准.doc
- vs快速添加引用解析的快捷键
- 基于SSM的商城管理系统
- 关于JAVA开发小游戏如何做读档和存档功能的这件事
- 小曾带你刷牛客03(Java版本)
- java抽象类例子月薪年薪程序_利用抽象类给一个有工资收入和稿费收入的小伙伴算税...
- lzx和网页之间脚本交互调试方式
- dede织梦批量导入关键词
- DDOS防御的8种方法
- 超级好用的编辑器UltraEdit
- python 多线程实现多任务,多进程实行多任务
- 二维码20项应用模式大盘点
- 我是一个尽量少用国产软件的软件开发工程师
热门文章
- 6.Entity FrameWork Core 5.0 删除、修改数据
- 2.Entity Framework Core 5.0 创建数据库(code frist)和迁移
- XAMPP 找不到对象,Error 404
- PHP用户连续签到赠送额外积分
- [R语言绘图]直方图hist
- Could not find com.serenegiant:common:4.1.1
- LINUX下载编译OpenSSL
- LINUX SHELL中,如何查找某些文件并删除
- C处理Python返回的字串代码
- 由最近Win10升级事故,回忆一次经历