如何根据Android手机的屏幕宽度调整图片大小?
我希望用户从图库中选择图片。由于大多数图片的大小都非常大,我想将其缩放到最合适的宽度。当我只知道图片的路径时,有没有办法做到这一点?例如,如果位图是bmp,而ImageView是framePhoto:如何根据Android手机的屏幕宽度调整图片大小?,android,image,Android,Image,我希望用户从图库中选择图片。由于大多数图片的大小都非常大,我想将其缩放到最合适的宽度。当我只知道图片的路径时,有没有办法做到这一点?例如,如果位图是bmp,而ImageView是framePhoto: int iWidth=bmp.getWidth(); int iHeight=bmp.getHeight(); Display display = getWindowManager().getDefaultDisplay(); Di
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);
简单地说,从该图像获取imageMatrix,然后应用缩放操作