1、CameraActivity.Java package org.yanzi.activity; import org.yanzi.camera.CameraInterface; import org.yanzi.camera.CameraInterface.CamOpenOverCallback; import org.yanzi.camera.preview.CameraSurfaceView; import org.yanzi.playcamera.R; import org.yanzi.util.DisplayUtil; import android.app.Activity; impo...
packagecn.bgxt.camerapicturedemo;importjava.io.IOException;importandroid.content.Context;importandroid.hardware.Camera;importandroid.util.Log;importandroid.view.SurfaceHolder;importandroid.view.SurfaceView;/*** 定义一个预览类*/publicclassCameraPreviewextendsSurfaceViewimplementsSurfaceHolder.Callback {privatestatic...
int cameraCount = 0; Camera cam = null; Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); cameraCount = Camera.getNumberOfCameras(); System.out.println("cameraCount = "+cameraCount); for (int camIdx = 0; camIdx < cameraCount; camIdx++) { Camera.getCameraInfo(camIdx, cameraInf...
private Camera getCustomCamera() { if (null == mCamera) { //Camera.open()方法说明:2.3以后支持多摄像头,所以开启前可以通过getNumberOfCameras先获取摄像头数目, // 再通过 getCameraInfo得到需要开启的摄像头id,然后传入Open函数开启摄像头, // 假如摄像头开启成功则返回一个Camera对象 try { // 这里我...
2.3 代码设置camera 在添加完拍照所需要的权限和布局后,我们就可以在Activity中书写对应的 逻辑和声明了。 2.3.1 通过 SurfaceView 获取需要数据 // 部分对象的声明privateCameramCamera;privateSurfaceHoldermHolder;mHolder=svContent.getHolder();mHolder.addCallback(this);// SurfaceHolder 的监听事件@Overridepubli...
拍照 添加一个Button,用于触发拍照操作,并在其OnClick事件中调用Camera.takePicture()方法来捕获图像。 public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { private Camera mCamera; private SurfaceView mSurfaceView; private SurfaceHolder mSurfaceHolder; ...
CameraManager 1 、打开相机 打开相机 2、拍照 主要就是这两个方法,还有其他比如设置SurfaceHold、设置缩放倍数、设置聚焦点、转换摄像头、设置手机的旋转方向等就不贴出来了。这些方法都比较简单容易理解。 CameraView 该View继承子FrameLayout,包含预览的SurfaceView、拍照后图片展示的ImageView、拍照相关的按钮布局等。
拍照 前言 这里主要简单介绍如何使用Camera+SurfaceView自定义相机拍照,如果是Camera2或者是TextureView的可以前往主页,后面会陆续推出系列文章。 自定义相机很多人都已经介绍得非常清楚了,这里个人一方面针对自己的实践起一个记录作用,另一方面也分享一下自己自定义相机的过程和总结。 相关Demo在文末有提供,有需要可自行前...
前面文章里面用的是GLSurfaceView来处理里,为了从基础一点一点掌握,所以我先学习一下SurfaceView和Camera搭配实现。 代码演示 我们新建一个项目名称为surfaceviewdemo,首先修改一下布局文件activity_main.xml,在里面添加一个RelativeLayout,定义我们的surfaceviewlayout,到时候加载的时候把我们的SurfaceView直接add进来。
通过前面几篇,利用SurfaceView显示Camera的图像已经没什么问题了,接下来我们就要打磨一下细节,主要就是手机旋转的问题,考虑到我们会用横屏和竖屏的不同的情况。 横竖屏问题 用我们前面的DEMO后,因为默认的打开后就是竖屏,所以进入后图像没有问题,如下 但是我们切换到横屏后,图像就显示不对了,如下 ...