Here you can find the source of calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight)
private static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight)
//package com.java2s; import android.graphics.BitmapFactory; public class Main { private static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { final int height = options.outHeight; final int width = options.outWidth; int inSampleSize = 1; if (height > reqHeight || width > reqWidth) { final int halfHeight = height / 2; final int halfWidth = width / 2; while ((halfHeight / inSampleSize) > reqHeight && (halfWidth / inSampleSize) > reqWidth) { inSampleSize *= 2;//from w w w .ja va2 s . c o m } } return inSampleSize; } }