展示效果图:

[这个是拍的相片]

CameraActivity.java

package com.example.videodisplay;import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;public class CameraActivity extends AppCompatActivity {private SurfaceView sfv;private Camera camera;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_camera);sfv = (SurfaceView) findViewById(R.id.sv_camera_surfaceview);sfv.getHolder().addCallback(new SurfaceHolder.Callback() {@Overridepublic void surfaceCreated(SurfaceHolder surfaceHolder) {//打开照相机camera = Camera.open();//给照相机设置参数Camera.Parameters parameters= camera.getParameters();//设置保存的格式parameters.setPictureFormat(PixelFormat.JPEG);parameters.set("jpeg-quality",85);camera.setParameters(parameters);try {camera.setPreviewDisplay(sfv.getHolder());//开启预览camera.startPreview();} catch (IOException e) {e.printStackTrace();}}@Overridepublic void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {}@Overridepublic void surfaceDestroyed(SurfaceHolder surfaceHolder) {//关闭}});}public void takePhoto(View view){//拍照camera.takePicture(null, null, new Camera.PictureCallback() {@Overridepublic void onPictureTaken(byte[] bytes, Camera camera) {//将字节数组转成图片Bitmap bitmap=BitmapFactory.decodeByteArray(bytes,0,bytes.length);try {FileOutputStream fos=new FileOutputStream("/mnt/sdcard/360Video/Camera_"+System.currentTimeMillis()+".png");bitmap.compress(Bitmap.CompressFormat.PNG,85,fos);camera.stopPreview();camera.startPreview();} catch (FileNotFoundException e) {e.printStackTrace();}}});}}

activity_camera.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.videodisplay.CameraActivity"><SurfaceView
        android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/sv_camera_surfaceview"/><Button
        android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拍照"android:onClick="takePhoto"/>
</RelativeLayout>

最后的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Android 实现拍照功能相关推荐

  1. Android添加拍照功能,Android相机开发(二): 给相机加上偏好设置

    Android Camera Develop: add settings to camera app 概述 继上一篇实现了一个最简单的相机APP后,本篇主要介绍实现相机的各种偏好设置,比如分辨率.闪光 ...

  2. Android添加拍照功能,Android开发实现拍照功能的方法实例解析

    本文实例讲述了Android开发实现拍照功能的方法.分享给大家供大家参考,具体如下: 解析: 1)判断是否有摄像头checkCameraHardware(this) 2)获得相机camera = Ca ...

  3. android 静默拍照功能,Android实现静默拍照功能

    本文实例为大家分享了Android实现静默拍照功能的具体代码,供大家参考,具体内容如下 1.申请权限(6.0以后要动态申请) 2.创建相机工具类 CameraPreview: public class ...

  4. android中拍照功能介绍,Android实现拍照功能

    大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个"拍照"按钮.直接上代码! 1.CameraDemoActivity.java(主界面) p ...

  5. Android手机拍照功能实现

    1.Photo.xml文件设置布局空间:ImageView 和 Button  实现点击按钮显示照片 <?xml version="1.0" encoding="u ...

  6. android 小米拍照功能,iQOO和小米9到底拍照谁更强之iQOO手机拍照功能详细评测

    iQOO和小米9到底拍照谁更强之iQOO手机拍照功能详细评测 2019-04-02 10:51:35 8点赞 13收藏 20评论 iQOO作为vivo子品牌一上市就以超强配置和超高性价比引爆市场,作为 ...

  7. Android一键拍照功能

    今天分享的是用系统自带的相机实现一键拍照功能. "` public class MainActivity extends AppCompatActivity { private static ...

  8. 三星android one 拍照功能,三星One UI 3.1体验:更好用了,也更注重隐私了

    三星此前已正式发布新旗舰Galaxy S21系列手机.作为一款主打移动影像的综合旗舰手机,三星Galaxy S21系列手机不光拥有强大的硬件配置,其全面且专业的影像配置也备受用户青睐. 除了给力的硬件 ...

  9. Android添加拍照功能,Android自定义相机,添加水印

    很多app都要求自定义一个相机,类似违章查询拍照,美图相机之类的应用都要求自定义相机,网上的例子大多数我也看过,很多例子是有坑的,存在各种各样的问题,常见的就是问题就是适配性很差,这里我分享一下我做的 ...

最新文章

  1. Python绘制桑基图
  2. 怎么往integer型数组添加数据_用户日活月活怎么统计 - Redis HyperLogLog 详解
  3. leetcode算法题--句子中的有效单词数
  4. 【软考-软件设计师】计算机系统知识概览
  5. 用python自己做游戏_练习项目20:使用python制作游戏(中)
  6. python Iterable
  7. Linux怎样创建FTP服务器--修改用户默认目录-完美解决 - 费元星
  8. 【系统分析师之路】第九章 软件工程(上)
  9. Allegro走等长线设置
  10. 软考高项优秀范文——论信息系统项目的风险管理
  11. 不是人人都懂的学习要点
  12. 实例分割新作——Instances as Queries
  13. bios属于计算机软件系统吗,装系统必须知道的BIOS,到底是什么?
  14. 电子护照阅读器便捷通行管理系统
  15. UDF函数maven工程出现:Missing artifact javax.jdo:jdo2-api:jar:2.3-ec或xsi:schemaLocation=http://maven.apach
  16. 硬盘维修彻底揭密 新手必读
  17. 音频处理 windows10下python三方库librosa安装
  18. Three.js + React + Echart(折线图 光线流动效果,柱状图数据动态更新动画) + Svga-Web应用之数据大屏(适配1920*1080 2560*1440 3840*2160)
  19. 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
  20. 2022年全球市场硬化疗法总体规模、主要企业、主要地区、产品和应用细分研究报告

热门文章

  1. 金镛小说中的三个极品女人
  2. 反编译微信小程序 查看微信小程序源码
  3. 项目经理使用过最刚的管理方法?
  4. 读《CSAPP》2E I
  5. 计算机的发展趋势 课件,计算机的类型与发展趋势(ppt 31页).ppt
  6. 阿里10年分布式技术沉淀:阿里高可用体系核心缔造者、全链路压测创始人告诉你!...
  7. iSCSI 网络存储/文件共享 介绍 及 示例
  8. 英国气候变化报告阐述数据中心的风险
  9. 1247. 交换字符使得字符串相同
  10. Flash&Flex大全资料大全(转自zrong's blog)