Camera、1.权限设置2.intent、startActivityForResult启动照相3.onActivityResult 接收照相的返回值3.1、数据图片保dsdcard3.2、读取sdcard图片3.3、图片加载到imageView上4.点击图片;popupwindow或者新页面放大展示/***  1.启动系统的相机拍照*/private void initPhoto() {// 隐式启动 系统相机Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, 1001);//注意重写:onActivityResult}@Override//2.protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 1001) {if (null != data && data != null && data.getExtras() != null) {try {String path = saveImg(data);Bitmap bitins = getSdcardImg(path);ivLogo.setImageBitmap(bitins);} catch (Exception e) {e.printStackTrace();}}}super.onActivityResult(requestCode, resultCode, data);}/*** 3.1* @方法用于把图片存到本地* @param data  拍照intent返回到图片数据集* @return    返回图片存储本地后的 、详细图片地址* @throws FileNotFoundException  io操作的异常*/private String saveImg(Intent data) throws FileNotFoundException {Bitmap bit = (Bitmap) data.getExtras().get("data");// 得到照相拍照的图片String fileName = System.currentTimeMillis() + "";// 保存图片 路径 名称String path = Environment.getExternalStorageDirectory() + "/" + fileName + ".jpg";// 图片路径存入数据库,用于不同用户登录使用// 输出流 保存到本地sdcardFileOutputStream fos = new FileOutputStream(path);// 1.格式 2.质量 3. 输出流保存位置boolean b = bit.compress(CompressFormat.JPEG, 100, fos);if (b) {Toast.makeText(this, " img save successful", Toast.LENGTH_LONG).show();} else {Toast.makeText(this, " img save false ", Toast.LENGTH_LONG).show();}return path;}/*** 3.2* @param path  本地图片地址* @return  返回得到的 Bitmap 图片对象* @throws FileNotFoundException  io读取异常*/private Bitmap getSdcardImg(String path) throws FileNotFoundException{FileInputStream fis = new FileInputStream(path);Bitmap bitins = BitmapFactory.decodeStream(fis);return bitins;}//给定图片宽高,返回压缩后的图片public static Bitmap zoomBitmap(Bitmap bitmap, int width, int height) {  int w = bitmap.getWidth();  int h = bitmap.getHeight();  Matrix matrix = new Matrix();  float scaleWidth = ((float) width / w);  float scaleHeight = ((float) height / h);  matrix.postScale(scaleWidth, scaleHeight); // 不改变原来图像大小  Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, w, h, matrix, true);  return newbmp;  }  //Activity Send Bitmap To FragmentFragmentManager fm = getFragmentManager();FragmentTransaction tran = fm.beginTransaction();ImageFragment imgFragment = new ImageFragment();Bundle b = new Bundle();b.putParcelable("bit", bitins);imgFragment.setArguments(b);tran.replace(R.id.rl_layout, imgFragment);tran.commit();@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {Bitmap b = (Bitmap) getArguments().get("bit");ImageView iv = new ImageView(mContext);Log.e(TAG, "====onCreateView========");iv.setImageBitmap(b);iv.setLayoutParams( new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));return  iv;}照相机拍照需要的权限:
<!--写sd卡权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--读sd卡的权限 --><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--操作摄像头的权限 --><uses-permission android:name="android.permission.CAMERA" />

项目demo下载地址:

http://download.csdn.net/detail/flyingsir_zw/9693403

Android照相机拍照Camera相关推荐

  1. Android 调用系统照相机拍照和录像

    Android 调用系统照相机拍照和录像 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.and ...

  2. Android自定义相机,切换前后摄像头,照相机拍照

    Android自定义相机,简单实现切换前后摄像头,照相机拍照 Ctrl +C  Ctrl+V 可以直接 run 起来,注释比较详细;源码下载 <?xml version="1.0&qu ...

  3. Android中使用Camera类编写手机拍照App的实例教程

    Camera是Android摄像头硬件的相机类,位于硬件包"android.hardware.Camera"下.它主要用于摄像头捕获图片.启动/停止预览图片.拍照.获取视频帧等,它 ...

  4. android调用系统照相机拍照,并压缩保存在本地

    1.首先拍照和保存文件肯定就需要申请权限 <!-- 往SDCard写入数据权限 --><uses-permission android:name="android.perm ...

  5. Android 调用手机系统照相机拍照

    Android 调用手机系统照相机拍照 并用ImageView显示    此方法获得的是拍照的原图片而非缩略图. 1.首先是布局文件activity_main.xml <RelativeLayo ...

  6. 使用SurfaceView+Camera模仿照相机拍照功能

    效果图 自己写一个软件,简单模仿照相机的功能 主要控件: 用SurfaseView来控制视图 使用Camera来操控照相机 页面很简单 用的是RelativeLayout相对布局 <Relati ...

  7. Android调用照相机拍照

    之前写在别的网站上写博客.后来没有坚持下来,以至于账号密码都忘了,好啦说正事 Android调用照相机拍照 这个在现在的应用中很常见,首先如果拍照是应用的必要功能,那么应该令它在Google Play ...

  8. Android基础知识复习之打开照相机拍照并获取照片

    对于我来说,做一件事情: 首先要理清我的思路,我要打开照相机,我能想到的是:在Android中我要打开系统应用,肯定需要一个隐式意图,那就要查询Android照相机的源码,查看并找到意图过滤器的书写方 ...

  9. Android Studio:使用Camera拍照(三)为相机增加取景蒙板/浮层

    写在前面的话:每一个实例的代码都会附上相应的代码片或者图片,保证代码完整展示在博客中.最重要的是保证例程的完整性!!!方便自己也方便他人~欢迎大家交流讨论~本文为博主原创文章,未经博主允许不得转载. ...

最新文章

  1. 简单配置Mdeamon邮件服务程序。
  2. VMware虚拟机:桥接、NAT、Host-only(仅主机)上网方式的区别
  3. 《蓝桥小记》 2018-04-01
  4. boost::mp11::mp_min_element相关用法的测试程序
  5. apache camel_Apache Camel中的短重试与长重试
  6. shell脚本手动执行成功,定时任务调用失败的解决方法。
  7. 一个好的产品要有一个排查问题、报表、运营等相关工具
  8. php 网路io是什么意思,io接口位于什么和什么之间
  9. formatter function (value,row,index){} 参数的含义
  10. 后台传一个状态值,如果在vue设置成正常停用?
  11. PostgreSQL安装及关联ArcMap
  12. LeetCode热题HOT-100 刷题记录
  13. HP服务器配置远程管理端口iLO的基本方法
  14. CMMI流程—配置管理流程
  15. 李德毅:希望智能驾驶成为我国继高铁之后又一张新名片
  16. arXiv每日推荐-3.2:计算机视觉/图像处理每日论文速递
  17. 一个案例两种分析方法告诉你数据涨跌异动该如何处理?附送涨跌问题常见五种假设
  18. 《文言文复兴系列 4》(江湖一剑客)
  19. 雷电模拟器启动报错:opengl版本过低
  20. 成像系统的先进PSF和MTF计算

热门文章

  1. PHP学生考勤管理系统毕业设计-附源码080900
  2. java函数式编程:四大Function
  3. STM32CubeMX 5.2配置使用STM32F7 的 SD与FatFs
  4. CentOS7-命令-关闭selinux
  5. 春装搭配 特色时尚毛衣登场
  6. 【精益生产】精益六西格玛质量管理运行体系推进案例
  7. 广联达2019C++软件开发
  8. 单周涨粉20w+,佛系直播竟让他意外变身带货黑马?
  9. workbook加载文件路径_Excel文件中如何快速找到目标工作表?(目录导航)
  10. 如何编辑受保护的PDF文件