android 修改圖片的寬高

銳湃發表於2015-09-11

需求:開發中伺服器端要求把獲取到的圖片壓縮處理,轉化為指定的寬和高,例如:需要上傳寬100,高200的圖片
    在android2.2提供了一個API可以直接實現
[java] 
Bitmap resizeBmp = ThumbnailUtils.extractThumbnail(bmp, 100, 200); 

但是因為專案需求需要相容2.2一下的版本,這時需要另外一種方式,使用Bitmap.createBitmap方法生成指定寬高的圖片 

/** 
 *  處理圖片  
 * @param bm 所要轉換的bitmap 
 * @param newWidth新的寬 
 * @param newHeight新的高   
 * @return 指定寬高的bitmap 
 */ 
 public static Bitmap zoomImg(Bitmap bm, int newWidth ,int newHeight){   
    // 獲得圖片的寬高   
    int width = bm.getWidth();   
    int height = bm.getHeight();   
    // 計算縮放比例   
    float scaleWidth = ((float) newWidth) / width;   
    float scaleHeight = ((float) newHeight) / height;   
    // 取得想要縮放的matrix引數   
    Matrix matrix = new Matrix();   
    matrix.postScale(scaleWidth, scaleHeight);   
    // 得到新的圖片   www.2cto.com
    Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);   
    return newbm;   
}  
轉自:http://blog.csdn.net/ansionnal/article/details/8464629

相關文章