More improvements to how bitmap scaling is handled

pull/14/head
Sam Bosley 11 years ago
parent 72aa5c61b6
commit fa4971f50c

@ -123,11 +123,12 @@ public class AndroidUtilities {
/** Read a bitmap from the specified file, scaling if necessary
* Returns null if scaling failed after several tries */
private static final int[] SAMPLE_SIZES = { 1, 2, 4, 6, 8, 10 };
private static final int MAX_DIM = 1024;
public static Bitmap readScaledBitmap(String file) {
Bitmap bitmap = null;
int tries = 0;
BitmapFactory.Options opts = new BitmapFactory.Options();
while(bitmap == null && tries < SAMPLE_SIZES.length) {
while(bitmap == null || ((bitmap.getWidth() > MAX_DIM || bitmap.getHeight() > MAX_DIM) && tries < SAMPLE_SIZES.length)) {
opts.inSampleSize = SAMPLE_SIZES[tries];
try {
bitmap = BitmapFactory.decodeFile(file, opts);

Loading…
Cancel
Save