decode Uri to create Bitmap - Android Graphics

Android examples for Graphics:Bitmap URL

Description

decode Uri to create Bitmap

Demo Code


//package com.java2s;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import java.io.FileNotFoundException;

public class Main {
    public static Bitmap decodeUri(Activity activity, Uri selectedImage)
            throws FileNotFoundException {

        // Decode image size
        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;/* ww w  . j  a  v  a 2 s .c o  m*/
        BitmapFactory.decodeStream(activity.getContentResolver()
                .openInputStream(selectedImage), null, o);

        // The new size we want to scale to
        final int REQUIRED_SIZE = 200;

        // Find the correct scale value. It should be the power of 2.
        int width_tmp = o.outWidth, height_tmp = o.outHeight;
        int scale = 1;
        while (true) {
            if (width_tmp / 2 < REQUIRED_SIZE
                    || height_tmp / 2 < REQUIRED_SIZE) {
                break;
            }
            width_tmp /= 2;
            height_tmp /= 2;
            scale *= 2;
        }

        // Decode with inSampleSize
        BitmapFactory.Options o2 = new BitmapFactory.Options();
        o2.inSampleSize = scale;
        return BitmapFactory.decodeStream(activity.getContentResolver()
                .openInputStream(selectedImage), null, o2);

    }
}

Related Tutorials