Android examples for Graphics:Bitmap Thumbnail
get Bitmap Thumbnail from URL by size
//package com.java2s; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; import android.net.Uri; import java.io.IOException; import java.io.InputStream; public class Main { public static Bitmap getThumbnail(Context context, Uri uri, int size) throws IOException { InputStream input = context.getContentResolver().openInputStream( uri);/*from www .j a va2 s .c o m*/ Options onlyBoundsOptions = new Options(); onlyBoundsOptions.inJustDecodeBounds = true; onlyBoundsOptions.inDither = true;// optional onlyBoundsOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;// optional BitmapFactory.decodeStream(input, null, onlyBoundsOptions); input.close(); if ((onlyBoundsOptions.outWidth == -1) || (onlyBoundsOptions.outHeight == -1)) return null; int originalSize = (onlyBoundsOptions.outHeight > onlyBoundsOptions.outWidth) ? onlyBoundsOptions.outHeight : onlyBoundsOptions.outWidth; double ratio = (originalSize > size) ? (originalSize / size) : 1.0; Options bitmapOptions = new Options(); bitmapOptions.inSampleSize = getPowerOfTwoForSampleRatio(ratio); bitmapOptions.inDither = true;// optional bitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;// optional input = context.getContentResolver().openInputStream(uri); Bitmap bitmap = BitmapFactory.decodeStream(input, null, bitmapOptions); input.close(); return bitmap; } public static int getPowerOfTwoForSampleRatio(double ratio) { int k = Integer.highestOneBit((int) Math.floor(ratio)); if (k == 0) return 1; else return k; } }