您好我正在开发一个很好的
Android应用程序,我需要将大位图适合小尺寸的imageview.我使用尺寸为300dp X 300dp的imageview来显示1024 x 780的大图像
如何将大图像制作成与原始图像一样好的小图像?
解决方法
试试这个 :
public static Bitmap getResizedBitmap(Bitmap bm,int newHeight,int newWidth) { int width = bm.getWidth(); int height = bm.getHeight(); float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // CREATE A MATRIX FOR THE MANIPULATION Matrix matrix = new Matrix(); // RESIZE THE BIT MAP matrix.postScale(scaleWidth,scaleHeight); // RECREATE THE NEW BITMAP Bitmap resizedBitmap = Bitmap.createBitmap(bm,width,height,matrix,false); return resizedBitmap; }
使用方便 :
Bitmap bmResized=getResizedBitmap(yourBitmap,newHeight,newWidth);
而且你得到了你的大小调整图像
注意:如果要调整参考资源图像使用此参数转换为位图:
Bitmap bmOrginal=BitmapFactory.decodeResource(this.getResources(),R.drawble.yourRes); Bitmap bmResized=getResizedBitmap(bmOrginal,newWidth);
然后设置调整大小的图像:
image.setImageBitmap(bmResized);