Skip to content

Instantly share code, notes, and snippets.

@sysint64
Created December 20, 2015 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sysint64/6f43ef3e0d87d719d4f2 to your computer and use it in GitHub Desktop.
Save sysint64/6f43ef3e0d87d719d4f2 to your computer and use it in GitHub Desktop.
public static int calculateInSampleSize (BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
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;
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
// height and width larger than the requested height and width.
while ((halfHeight / inSampleSize) > reqHeight
&& (halfWidth / inSampleSize) > reqWidth) {
inSampleSize *= 2;
}
}
return inSampleSize;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment