簡體   English   中英

如何在Android中以編程方式更改位圖的高度和寬度?

[英]How to change bitmap height and width programmatically in android?

我想將位圖的高度和寬度調整為與用戶設備的寬度和高度相同。如果您知道代碼,請幫助我。謝謝!

這是我的代碼:

 Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.nature);

DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
width = metrics.widthPixels;
height=metrics.heightPixels;

但這沒用

嘗試使用此方法:

public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
    // GET CURRENT SIZE
    int width = bm.getWidth();
    int height = bm.getHeight();
    // GET SCALE SIZE
    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.createScaledBitmap效果很好。 作為文件

如果可能,創建一個新的位圖,從現有的位圖縮放。 如果指定的寬度和高度與源位圖的當前寬度和高度相同,則返回源位圖,並且不會創建新的位圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM