欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android将图片转化为指定的宽和高

程序员文章站 2022-05-25 21:46:20
...

需求:开发中服务器端要求把获取到的图片压缩处理,转化为指定的宽和高,例如:需要上传宽100,高200的图片

在android2.2提供了一个API可以直接实现

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);  
	    // 得到新的图片  
	    Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);  
	    return newbm;  
	}