如何根据Android手机的屏幕宽度调整图片大小?

如何根据Android手机的屏幕宽度调整图片大小?

问题描述:

我希望用户从图库中选择图片。由于大多数图片的尺寸非常大,我想将其缩放到最合适的宽度。有没有办法做到这一点,当我只知道图片的路径?如何根据Android手机的屏幕宽度调整图片大小?

+0

简单地说,从图像获取imageMatrix,然后应用缩放操作 – Aakash 2012-01-12 13:31:06

例如,如果你的位图是BMP和ImageView的是framePhoto:

 int iWidth=bmp.getWidth(); 
     int iHeight=bmp.getHeight(); 

     Display display = getWindowManager().getDefaultDisplay(); 
     DisplayMetrics dm = new DisplayMetrics(); 
     display.getMetrics(dm); 

     int dWidth=dm.widthPixels; 
     int dHeight=dm.heightPixels; 

     float sWidth=((float) dWidth)/iWidth; 
     float sHeight=((float) dHeight)/iHeight; 

     if(sWidth>sHeight) sWidth=sHeight; 
     else sHeight=sWidth; 

     Matrix matrix=new Matrix(); 
     matrix.postScale(sWidth,sHeight); 
     newImage=Bitmap.createBitmap(bmp, 0, 0, iWidth, iHeight, matrix, true); 
     framePhoto.setImageBitmap(newImage);