您的位置:首页 > 其它

实现一个简单的手机拍照效果

2017-02-24 12:12 176 查看

1.得到Activity里面的ID

调用
sv_main_sss.getHolder().addCallback(new SurfaceHolder.Callback()这个方法


2.打开照相机

Camera.open();
设置参数
Camera.Parameters parameters=camera.getParameters();
//格式
parameters.setPictureFormat(PixelFormat.JPEG);
//质量
parameters.set("jpeg-quality",85);

camera.setParameters(parameters);

//展示画面
try {
camera.setPreviewDisplay(sv_main_sss.getHolder());
//开启预览
camera.startPreview();

} catch (IOException e) {
e.printStackTrace();
}
}

再进行拍照效果,要压缩,不然消耗内存比较大
//拍照
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();
}
还要在清单文件配置下权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

拍照之前的预览效果



拍照完成的效果



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: