我制作了一张照片并将其保存在预先'ArrayList Bitmap'中,然后将它们保存到卡片中,然后将它们放入'GridView'中。但是由于大型'GridView'中的图片'Bitmap',它们无法正确显示。我在保存之前尝试过这样做
bitmap.setHeight();
bitmap.setWidth();
但Android Studio强调并说我不能使用这些方法。如果我理解正确,这与API有关。 建议如何制作50×50像素的图片?
答案 0 :(得分:1)
您只需修改宽度和高度即可更改位图的大小。就像这样:
public 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;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
return resizedBitmap;
}
答案 1 :(得分:0)
如果您已经有位图并想要调整其大小。.
Bitmap bMap = BitmapFactory.decodeByteArray(bMapArray, 0, bMapArray.length); //Original Initialization
try {
resizedBitmap = Bitmap.createScaledBitmap(bMap, 240, 320, false);// Here I have set it To 240 width and 320 Height
}
catch (Exception e){
}