首页 > 学院 > 开发设计 > 正文

简单的拍照dome

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

刚学习了了个简单的拍照的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" />


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