Android相机意图ACTION_IMAGE_CAPTURE导致图像的90度方向

时间:2013-06-29 05:28:40

标签: android android-camera-intent

我正在使用相机意图拍照。但是我在Imageview上获得了很大的形象。 我的问题是 -

 1.I want full sized image (Which I am getting using putExtra(), )
 2.But due to this My imageview size is increasing.
 3. Main problem is , Image captured is 90 degree roteted..

我的代码如下。

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                try
                {
                    // place where to store camera taken picture
                    tempPhoto = createTemporaryFile("picture", ".png");
                    tempPhoto.delete();
                }
                catch(Exception e)
                {

                    return ;
                }
                mImageUri = Uri.fromFile(tempPhoto);
                cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
                startActivityForResult(cameraIntent, 6);

和onActivityResult ---

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  

        ContentResolver cr = getApplicationContext().getContentResolver();

        Bitmap photo=null;
        if (resultCode == RESULT_OK) {

            try {
                photo = android.provider.MediaStore.Images.Media.getBitmap(cr, Uri.fromFile(tempPhoto));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


                ImageView imageView = (ImageView)this.findViewById(R.id.imageView1);  

                imageView.setImageBitmap(photo);

                }

我正在尝试使用小图像 //Bitmap photo = (Bitmap) data.getExtras().get("data");
这导致空指针Exception .. 如何解决问题?

1 个答案:

答案 0 :(得分:2)

我得到了问题的答案。

1.要通过相机获取全尺寸图像,请使用

 mImageUri = Uri.fromFile(tempPhoto);   
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);

 //tempPhoto is file location here you are storing camera photo in a temp file.
  1. 维持ImageView尺寸使用android:adjustViewBounds="true"

  2. 使用图片方向ExifOrientaion请查看此ExifOrientaion http://developer.android.com/reference/android/media/ExifInterface.html

  3. 的链接