简单的拍照dome

来源:互联网 发布:p2p下载软件推荐 编辑:程序博客网 时间:2024/05/01 12:26

刚学习了了个简单的拍照的dome,跟大家分享下,步骤如下

(1)获取id

main_sv = (SurfaceView) findViewById(R.id.main_sv);

(2)SurfaceView接受摄像头界面变化的信息

main_sv.getHolder().addCallback(new SurfaceHolder.Callback() {    @Override    public void surfaceCreated(SurfaceHolder surfaceHolder) {        camera = Camera.open();        Camera.Parameters parameters=camera.getParameters();        //设置保存的格式        parameters.setPictureFormat(PixelFormat.JPEG);        //设置质量        parameters.set("jpeg-quality",85);        //给相机设置参数        camera.setParameters(parameters);        //展示到sv        try {            camera.setPreviewDisplay(main_sv.getHolder());            camera.startPreview();        } catch (IOException e) {            e.printStackTrace();        }    }    @Override    public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {    }    @Override    public void surfaceDestroyed(SurfaceHolder surfaceHolder) {    }});

(2)写方法

camera.takePicture(null, null, new Camera.PictureCallback() {    @Override    public void onPictureTaken(byte[] bytes, Camera camera) {        //       Bitmap bitmap=BitmapFactory.decodeByteArray(bytes,0,bytes.length);        try {            FileOutputStream fos=new FileOutputStream("/mnt/sdcard/DCIM/camera/G150825_"+System.currentTimeMillis()+".png");            bitmap.compress(Bitmap.CompressFormat.JPEG,85,fos);            camera.stopPreview();            camera.startPreview();        } catch (FileNotFoundException e) {            e.printStackTrace();        }    }});
(注意权限)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

0 0
原创粉丝点击