微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们如何在android java中将相机捕获图片设置为正确的方向

如何解决我们如何在android java中将相机捕获图片设置为正确的方向

当我从我的手机相机拍摄照片或从我的手机相机已经拍摄的眩光中选择时,在图像视图中设置时转向另一个方向我应该做什么请指导检索此图片时也检索这个方向//当我从我的手机相机拍摄照片或从我的手机相机已经拍摄的眩光中选择在图像视图中设置时转向其他方向我应该做什么请指导检索此图片时也检索此方向

final CharSequence[] options = { "Take Photo","Choose from gallery","Cancel" };
            AlertDialog.Builder builder = new AlertDialog.Builder(RegisterstudentActivity.this);
            builder.setTitle("Add Photo!");
            builder.setItems(options,new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog,int item) {
                    if (options[item].equals("Take Photo"))
                    {

                        Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                       // takePicture.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                        startActivityForResult(takePicture,0);
                    }
                    else if (options[item].equals("Choose from gallery"))
                    {
                       /* Intent pickPhoto = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                        startActivityForResult(pickPhoto,1);*/
                        Dexter.withActivity(RegisterstudentActivity.this)
                                .withPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                                .withListener(new PermissionListener() {
                                    @Override
                                    public void onPermissionGranted(PermissionGrantedResponse permissionGrantedResponse) {
                                        Intent intent=new Intent(Intent.ACTION_PICK);
                                        intent.setType("image/*");
                                        startActivityForResult(Intent.createChooser(intent,"Select profile pic"),1);
                                    }

                                    @Override
                                    public void onPermissionDenied(PermissionDeniedResponse permissionDeniedResponse) {

                                    }

                                    @Override
                                    public void onPermissionRationaleShouldBeShown(PermissionRequest permissionRequest,PermissionToken permissionToken) {
                                        permissionToken.continuePermissionRequest();
                                    }
                                }).check();
                    }
                    else if (options[item].equals("Cancel")) {
                        dialog.dismiss();
                    }
                }
            });
            builder.show();

         //onactivity result
            @SuppressLint("LongLogTag")
          @Override
        protected void onActivityResult(int requestCode,int resultCode,Intent imageReturnedIntent) 
              {
        super.onActivityResult(requestCode,resultCode,imageReturnedIntent);
        switch (requestCode) {
           case 0:
       /* if (resultCode == RESULT_OK) {
            Bundle extras = imageReturnedIntent.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");
            sprofile.setimageBitmap(imageBitmap);

        }*/
        if (resultCode==RESULT_OK)
        {
            //new thing
            assert imageReturnedIntent != null;
            filepath=imageReturnedIntent.getData();
            try {
                InputStream inputStream=getContentResolver().openInputStream(filepath);
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                sprofile.setimageBitmap(bitmap);

            }catch (Exception ex)
            {

            }
        }

        break;
       case 1:
     /*   if (resultCode == RESULT_OK) {
            Uri selectedImage = imageReturnedIntent.getData();
            sprofile.setimageURI(selectedImage);
        }*/
        if (requestCode==1 && resultCode==RESULT_OK)
        {
            //new thing
            assert imageReturnedIntent != null;
            filepath=imageReturnedIntent.getData();
            try {
                InputStream inputStream=getContentResolver().openInputStream(filepath);
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                sprofile.setimageBitmap(bitmap);

            }catch (Exception ex)
            {

            }
        }
        break;
       }
      }

enter image description here

在图像视图上设置后

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。