您好,我正在开发一款出色的 android 应用程序,我需要将大位图调整为小尺寸imageview
。我正在使用imageview
尺寸300dp X 300dp来显示大图像1024 X 780
如何将大图像制作成与原始图像一样质量的小图像?
您好,我正在开发一款出色的 android 应用程序,我需要将大位图调整为小尺寸imageview
。我正在使用imageview
尺寸300dp X 300dp来显示大图像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, 0, 0, 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,newHeight,newWidth);
然后设置调整后的图像:
image.setImageBitmap(bmResized);
你试过了吗im.setScaleType(ScaleType.FIT_XY)
@Nikola 评论回答了我的问题。我在答案中写了这个,以便对未来的读者有好处
您应该制作大小为 300x300 的缩略图图像,但要保留其纵横比。您可以在画布上绘制更大的图像,画布以某种颜色填充其余空间。