首页 > 系统 > Android > 正文

Android--拍照功能的实现

2019-11-08 00:33:34
字体:
来源:转载
供稿:网友

要拍照 我们首先要得到手机照相机的权限,拍照我们也是用SurfaceView

<uses-permission android:name="android.permission.CAMERA" />
<SurfaceView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/sv_main_sss"    /><Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="拍照"    android:onClick="tesee"    />

//打开照相机    
这里的Camera.open有二个方法,带参和不带参,带参的前置摄像头
  camera=Camera.open();//设置参数Camera.Parameters parameters=camera.getParameters();
 //格式
照片以什么格式存储,就是照片的后缀名 parameters.setPictureFormat(PixelFormat.JPEG);      //质量
照片的像素,关键看手机的像素有多高 parameters.set("jpeg-quality",85); camera.setParameters(parameters);
//展示画面

 camera.setPReviewDisplay(sv_main_sss.getHolder());//开启预览  camera.startPreview();

Onclick点击后执行的操作

//拍照camera.takePicture(null, null,new Camera.PictureCallback() {    @Override    public void onPictureTaken(byte[] data, Camera camera) {        //压缩       Bitmap bitmap= BitmapFactory.decodeByteArray(data,0,data.length);        try {
             照片存放的路径            FileOutputStream fos=new FileOutputStream("/mnt/sdcard/koo/"+System.currentTimeMillis()+".png");            bitmap.compress(Bitmap.CompressFormat.PNG,85,fos);            camera.stopPreview();            camera.startPreview();        } catch (FileNotFoundException e) {            e.printStackTrace();        }

      最好还要在配置文件设置一下  横竖切换

<activity    android:name=".Main2Activity"    android:screenOrientation="landscape"></activity>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表