如何更改位图的大小?

时间:2015-12-28 10:15:25

标签: java android image bitmap camera

我制作了一张照片并将其保存在预先'ArrayList Bitmap'中,然后将它们保存到卡片中,然后将它们放入'GridView'中。但是由于大型'GridView'中的图片'Bitmap',它们无法正确显示。我在保存之前尝试过这样做

bitmap.setHeight();
bitmap.setWidth();

但Android Studio强调并说我不能使用这些方法。如果我理解正确,这与API有关。 建议如何制作50×50像素的图片?

2 个答案:

答案 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){
}