Android手机拍照后存储图片

来源:互联网 发布:python keras 彩票 编辑:程序博客网 时间:2024/04/30 16:17

Android手机中调用系统相机进行拍照的操作很简单:
1.调用系统相机

Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  startActivityForResult(openCameraIntent, TAKE_PICTURE);  

2.在回调中处理相机返回的图片

protected void onActivityResult(int requestCode, int resultCode, Intent data) {    if (data.getExtras().containsKey("data")) {        //取出返回的Bitmap数据        Bitmap bitmap = (Bitmap) data.getExtras().get("data");        //对bitmap做系列的操作,比如显示到ImageView、保存为文件等        //省略操作。。。    }}

通过这种方法,显示或保存后的图片非常模糊,达不到项目的要求,这是因为系统返回的图片为缩略图。

所以说对于图片清晰度要求较高的项目,建议采用下面的操作:
1.调用系统相机,并指定图片存储路径

Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//建立IntentFile imageFile = new File(Environment.getExternalStorageDirectory(),"image.jpg");//指定图片文件Uri imageUri = Uri.fromFile(imageFile );//取出图片uriopenCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);//指定拍照后的图片输出为imageUristartActivityForResult(openCameraIntent, 1);//启动相机

2.处理回调

protected void onActivityResult(int requestCode, int resultCode, Intent data) {    if (requestCode == 1) {        //因为拍照完成后图片自动保存到了imageFile,所以对图片的操作转化为对imageFile的操作        //1.图片文件很大,直接显示图片需要做优化处理        //2.上传文件直接上传即可     }}
1 0
原创粉丝点击