Android 控制摄像头拍照.pdf
文本预览下载声明
Android 控制摄像头拍照
Android 提供了Camera来控制拍照,使用Camera进行拍照也比较简单,按如下步
骤即可:
(1)调用Camera 的open()方法打开相机。
(2)调用Camera 的getParameters()获取拍照的参数。该方法返回一个Camera.p
arameters对象。
(3)调用Camera.Parameters 对象对照相的参数进行设置。
(4)调用Camera.setParameters(),并将Camera.Parameters对象作为参数传
入,这样既可以对拍照的参数进行控制。注2.3.3 以后不用设置
(5)调用Camera 的startPreview()方法开始开始预览取景,在次之前需要调用Ca
mera 的startPreviewDisplay(SufaceHolder holder)设置使用那个Surface来
显示取得的图片。
(6)调用Camera 的takePicture()方法进行拍照。
(7)结束程序时,调用Camera 的stopPreview的方法进行拍照。
注:需要赋予程序是有Camera 的权限:
!-- 授予程序使用摄像头的权限 →
uses-permission android:name=android.permission.CAMERA /
uses-feature android:name=android.hardware.camera /
uses-feature android:name=android.hardware.camera.autofocus /
程序的源码如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.os.Bundle;
import android.os.Environment;
import android.view.Display;
import android.view.KeyEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
public class CaptureImage extends Activity
{
SurfaceView sView;
SurfaceHolder surfaceHolder;
int screenWidth, screenHeight;
// 定义系统所用的照相机
Camera camera;
//是否在浏览中
boolean isPreview = false;
@Override
public void onCreate(Bundle
显示全部