Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Bitmap decodeBitmap(Bitmap SourceBmpm, int ReqWidth, int ReqHeight)
- {
- try {
- //decode image size
- BitmapFactory.Options o = new BitmapFactory.Options();
- o.inJustDecodeBounds = true;
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- SourceBmpm.compress(CompressFormat.PNG, 100 /*ignored for PNG*/, bos);
- byte[] bitmapdata = bos.toByteArray();
- BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length, o);
- //Find the correct scale value. It should be the power of 2.
- // final int REQUIRED_SIZE=requiredSize;
- int width_tmp=o.outWidth, height_tmp=o.outHeight;
- int scale=1;
- while(true){
- if(width_tmp/2<ReqWidth || height_tmp/2<ReqHeight)
- break;
- width_tmp/=2;
- height_tmp/=2;
- scale*=2;
- }
- //decode with inSampleSize
- BitmapFactory.Options o2 = new BitmapFactory.Options();
- o2.inSampleSize=scale;
- SourceBmpm.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
- bitmapdata = bos.toByteArray();
- return BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length, o2);
- } catch (Exception e) {
- Log.e("DD"," Exp "+e);
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement