最近用到把一个图片绘制到画布上,然后用画笔做标记,但是获取的是图片的宽和高,这样绘制出来的无法完全匹配成全屏,下面记录一个方法等比例了缩放:
/**
*
* @param bm 传入的bitmap
* @param newWidth 指定的图片宽
* @param newHeight 指定的图片高
* @return newbm 返回 bitmap类型
*/
public Bitmap setImgSize(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;
}
上面已经写得很明白了,需要用的直接复制用吧.