Java 如何更改位图的大小?
我制作了一张图片并将其保存在“ArrayList位图”之前,在将它们保存到卡之前,我将它们放入“GridView”中。但由于大型“GridView”中的图片“位图”无法正确显示。我在存钱之前已经试过了Java 如何更改位图的大小?,java,android,image,bitmap,camera,Java,Android,Image,Bitmap,Camera,我制作了一张图片并将其保存在“ArrayList位图”之前,在将它们保存到卡之前,我将它们放入“GridView”中。但由于大型“GridView”中的图片“位图”无法正确显示。我在存钱之前已经试过了 bitmap.setHeight(); bitmap.setWidth(); 但Android Studio强调并表示我不能使用这些方法。如果我理解正确,这与API有关。 建议如何制作50×50像素的图片?只需修改宽度和高度,即可更改位图的大小。就这样, public Bitmap getRes
bitmap.setHeight();
bitmap.setWidth();
但Android Studio强调并表示我不能使用这些方法。如果我理解正确,这与API有关。
建议如何制作50×50像素的图片?只需修改宽度和高度,即可更改位图的大小。就这样,
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;
}
如果您已经有位图并希望调整其大小
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){
}
我用另一种方法位图。createScaledBitmap(你的位图,宽度,高度,真)