Android:通过Camera进行拍照
来源:互联网 发布:sqlserver存储过程实例 编辑:程序博客网 时间:2024/04/28 02:12
Android:通过Camera进行拍照
标签(空格分隔): android
- Android通过Camera进行拍照
- 权限说明
- Demo
Android应用提供了Camera来控制拍照,其使用步骤如下:
- 1,通过Camera的open()方法打开相机(默认打开后置摄像头,也可以通过指定ID打开相应的摄像头)
- 2,通过Camera的getParameters()方法获取拍照参数对象
- 3,调用Camera的startPreview()方法开始预览取景,在取景前需要调用Camera的setPreviewDisplay(SurfaceHolder)设置显示
- 4,调用Camera的takePicture()方法拍照
- 5,调用Camera的stopPreview()取消预览,并调用release()方法释放资源
权限说明
<uses-permission android:name="android.permission.CAMERA"/>
Demo
注意:android.hardware.Camera已经被废弃,已经有了新的拍照架构camera2,这里的示例仍然是老的版本
class CaptureActivity : BaseActivity<IPresenter>() { var isPreview = false val camera: Camera = Camera.open() val path = "${Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).absolutePath}/Camera" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_capture) camera.setDisplayOrientation(90) val parameters = camera.parameters parameters.setPreviewSize(width, height)//预览图片的大小 parameters.setPreviewFpsRange(4, 10)//每秒显示帧数的最小值和最大值 parameters.pictureFormat = ImageFormat.JPEG//保存图片的格式 parameters.set("jpeg-quality", 100)//保存图片的质量 parameters.setPictureSize(width, height)//保存照片的尺寸 cSurfaceView.holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS) cSurfaceView.holder.addCallback(object : SurfaceHolder.Callback { override fun surfaceChanged(holder: SurfaceHolder?, format: Int, width: Int, height: Int) { } override fun surfaceDestroyed(holder: SurfaceHolder?) { if (isPreview) camera.stopPreview() camera.release() } override fun surfaceCreated(holder: SurfaceHolder) { camera.setPreviewDisplay(holder) camera.startPreview() } }) cCapture.setOnClickListener { capture() } } fun capture() { camera.autoFocus { success, camera -> if (success) { camera.takePicture({ //快门瞬间回调 }, { data, camera -> //图片原始信息回调 }, { data, camera -> //拍照完成回调 val file = FileUtils(path, DateUtils.getTimeStamp() + ".jpg") file.clear() file.append(data) file.close() camera.stopPreview() camera.startPreview() isPreview = true }) } } }}
0 0
- Android:通过Camera进行拍照
- 通过Camera进行拍照
- Android Camera进行拍照
- Android Camera进行拍照
- Android Camera (一)通过Intent 拍照
- Android Camera开发之通过Intent拍照
- Android Camera系列开发: 通过CameraAPI拍照
- android 拍照 Camera类 使用照相机进行拍照 翻译
- Android Camera (三)通过Camera API拍照
- Android Camera系列开发 (一): 通过Intent拍照
- Android Camera系列开发 (三): 通过CameraAPI拍照
- Android Camera系列开发 (一): 通过Intent拍照
- Android Camera系列开发 (三): 通过CameraAPI拍照
- 初学Android,多媒体之使用Camera进行拍照(七十九)
- android下自定义Camera进行录像和拍照
- android camera 后台拍照
- Android之Camera拍照
- android Camera拍照
- 优雅的退出程序---->持续更新
- 孤儿进程与僵尸进程[总结]
- 题目22:栈的压入、弹出序列
- android 实用方法的总结
- 图吧携手恒达时讯,打造江西智能路网平台
- Android:通过Camera进行拍照
- 如何使用MOB的无UI短信SDK
- 关于Viewpager使用ImageLoader加载图片反复进入退出activity的情况下内存溢出的问题
- android调用webservice,主要是soap调用wsdl
- peotobuf grpc google福利
- EditTextView监听字数
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---个人整理
- 【Oracle】RAC安装时multipath+udev
- ARM7 LPC2378 远程升级----IAP函数