文档详情

android开发教程My Android Camera Notes.doc

发布:2015-09-26约6.32千字共7页下载文档
文本预览下载声明
My Android Camera Notes 1.使用SurfaceView控件来显示摄像头捕捉到的画面 XML/HTML代码 SurfaceViewandroid:layout_width=fill_parent android:layout_height=240dip android:id=@+id/surfaceView/ 2.具体细节 /*获取SurfaceView控件*/ SurfaceView surfaceView = (SurfaceView)this.findViewById(R.id.surfaceView); /*设置分辨率*/ surfaceView.getHolder().setFixedSize(176, 144); /*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/ surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); /*打开摄像头,注意这里是Android.hardware.Camera */ Camera camera = Camera.open(); /*为Camera设置摄像参数*/ Camera.Parameters parameters = camera.getParameters(); /*设置预览照片的大小,此处设置为全屏*/ WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); //获取当前屏幕管理器对象 Display display = wm.getDefaultDisplay(); //获取屏幕信息的描述类 parameters.setPreviewSize(display.getWidth(), display.getHeight()); //设置 /*每秒从摄像头捕获5帧画面,*/ parameters.setPreviewFrameRate(5); /*设置照片的输出格式:jpg */ parameters.setPictureFormat(PixelFormat.JPEG); /*照片质量*/ parameters.set(jpeg-quality, 85); /*设置照片的大小:此处照片大小等于屏幕大小*/ parameters.setPictureSize(display.getWidth(), display.getHeight()); /*将参数对象赋予到camera对象上*/ camera.setParameters(parameters); /*设置用SurfaceView作为承载镜头取景画面的显示*/ camera.setPreviewDisplay(surfaceView.getHolder()); /*开始预览*/ camera.startPreview(); /*自动对焦*/ camera.autoFocus(null); /*拍照片*/ camera.takePicture(null, null, null, jpegCallback); /*停止预览*/ camera.stopPreview(); /*释放摄像头*/ camera.release(); 3.添加使用摄像头的权限 uses-permission android:name=android.permission.CAMERA/ 4.测试:目前模拟器不支持拍照环境的模拟,必须使用真实手机测试。 5.代码清单 ** string values : strings.xml XML/HTML代码 ?xmlversion=1.0encoding=utf-8? resources stringname=app_name手机拍照程序/string /resources ** AndroidManifest.xml XML/HTML代码 ?xmlversion=1.0encoding=utf-8? manifestxmlns:android=/apk/res/android package=wjh.android.takepicture android:versionCode=1 android:versionName=1.0 applicationandroid:icon=@drawable/iconandroid:label=@string/app_name !--android:screenOrientation=landscape表示横向界面-- activityandroid:name=.MainActicityandroid:label=@
显示全部
相似文档