Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

data.getExtras().get("data") result of low resolution image in android

In my app I take a picture from camera and then I get that picture to do some image processing operations on same picture but when I get this picture with data.getExtras().get("data") , picture come with low resolution not real taken resolution. What can be reason of the problem?

Code is like that;

    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
          startActivityForResult(intent , CAMERA_PIC_REQUEST);
    }

    protected void onActivityResult(int requestCode , int resultCode , Intent data )
    {
        if( requestCode != 0)
        { 
            ImageView image = (ImageView)findViewById(R.id.imageView1);
                thumbnail = (Bitmap)data.getExtras().get("data");
like image 775
barzos Avatar asked May 14 '11 12:05

barzos


1 Answers

Mightier nailed it. Without including extras you only get a small sized image. From the Android documentation:

public static final String ACTION_IMAGE_CAPTURE Since: API Level 3

Standard Intent action that can be sent to have the camera application capture an image and return it.

The caller may pass an extra EXTRA_OUTPUT to control where this image will be written. If the EXTRA_OUTPUT is not present, then a small sized image is returned as a Bitmap object in the extra field. This is useful for applications that only need a small image. If the EXTRA_OUTPUT is present, then the full-sized image will be written to the Uri value of EXTRA_OUTPUT.

like image 58
user999764 Avatar answered Oct 06 '22 23:10

user999764