Created
July 24, 2012 13:37
-
-
Save monotocho/3169945 to your computer and use it in GitHub Desktop.
optimize bitmap
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//decodes image and scales it to reduce memory consumption | |
private Bitmap decodeFile(File f){ | |
try { | |
//Decode image size | |
BitmapFactory.Options o = new BitmapFactory.Options(); | |
o.inJustDecodeBounds = true; | |
BitmapFactory.decodeStream(new FileInputStream(f),null,o); | |
//The new size we want to scale to | |
final int REQUIRED_SIZE=70; | |
//Find the correct scale value. It should be the power of 2. | |
int width_tmp=o.outWidth, height_tmp=o.outHeight; | |
int scale=1; | |
while(true){ | |
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE) | |
break; | |
width_tmp/=2; | |
height_tmp/=2; | |
scale*=2; | |
} | |
//Decode with inSampleSize | |
BitmapFactory.Options o2 = new BitmapFactory.Options(); | |
o2.inSampleSize=scale; | |
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2); | |
} catch (FileNotFoundException e) {} | |
return null; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment