Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to scale bitmap to screen size?

Tags:

I want to know how to scale bitmap to screen height and width?

Can anyone pls tell me how to do this.

Thanks Monali

like image 866
Monali Avatar asked Jun 20 '11 11:06

Monali


1 Answers

Try this to Decode the Bitmap :

Where imagefilepath is the path name of image,it will be in String covert that to File by using

File photos= new File(imageFilePath); 

Where photo is the File name of the Image,Now you set your height and width according t your requirements.

public void main(){     Bitmap bitmap = decodeFile(photo);     bitmap = Bitmap.createScaledBitmap(bitmap,150, 150, true);     imageView.setImageBitmap(bitmap); }   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);                       //Find the correct scale value. It should be the power of 2.         final int REQUIRED_SIZE=70;         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++;         }          //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; } 
like image 116
Venky Avatar answered Sep 20 '22 12:09

Venky