Java tutorial
//package com.java2s; //License from project: Apache License import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class Main { /** * Decode a file from the path and return a bitmap * @param uri * @param context * @return */ public static Bitmap decodeFileFromPath(Uri uri, Context context) { InputStream in = null; try { in = context.getContentResolver().openInputStream(uri); //Decode image size BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeStream(in, null, o); in.close(); int scale = 1; int inSampleSize = 1024; if (o.outHeight > inSampleSize || o.outWidth > inSampleSize) { scale = (int) Math.pow(2, (int) Math.round( Math.log(inSampleSize / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5))); } BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; in = context.getContentResolver().openInputStream(uri); Bitmap b = BitmapFactory.decodeStream(in, null, o2); in.close(); return b; } catch (FileNotFoundException e) { //e.printStackTrace(); } catch (IOException e) { //e.printStackTrace(); } return null; } }