/*new_w:想要得到的图片尺寸宽;new_h:想要得到的图片尺寸高
bitmap:输入的Bitmap型变量
public static Bitmap imageScale(Bitmap bitmap, int new_w,new_h) {
//先通过Bitmap对象调用getWidth(),getHeight();方法得到原始输入bitmap的尺寸(也就是原始没改变尺寸之前的图片宽和高)
//这里如果你已经知道你的输入尺寸为多大,也可以直接替换int型整数,但是建议用代码原始尺寸
int src_w = bitmap.getWidth();
int src_h = bitmap.getHeight();//获取缩放比例,拿原始输入的长宽和想要缩放的长宽求比例,注意谁在前谁在后都可以,例如最终希望的尺寸在分子,原始尺寸在分母,比值大于一,说明获取的是放大比例;小于一,则是缩小比例
//同理,分子和分母相反,原始图像尺寸在分子,要得到的尺寸在分母,若比值大于一,则获取的是缩小比例,反之获取的是放大比例
float scale_w = ((float) new_w) / src_w;
float scale_h = ((float) new_h) / src_h;//新建Matrix类的一个对象,用来存储变换后的像素矩阵值,暂时存储作用
Matrix matrix = new Matrix();//利用矩阵类对象调用方法postScale进行尺度变换,两个参数为尺度变换的宽,高对应的缩放比例
matrix.postScale(scale_w, scale_h);//科普一下,如果想要旋转图像,则用矩阵类对象调用方法postRotate(float a);其中参数a是需要旋转的角度,如matrix.postRotate(45);
//再调用Bitmap类中的方法createBitmap( bitmap,0,0,src_w, src_h, matrix,true),解释一下,第一个参数是传进来原始的Bitmap,两个参数0暂时用不到,src_w, src_h原图像的尺寸;尺寸变换后的矩阵变量,后面true,返回的也是Bitmap对象
Bitmap bihuanbmp = Bitmap.createBitmap(bitmap, 0, 0, src_w, src_h, matrix,true);
return bihuanbmp ;//补充,上面我返回的是Bitmap类型,我工作的需要,如果大家需要直接将Bitmap类输出为图片,直接加上return new BitmapDrawable(bihuanbmp);当然如果返回的是BitmapDrawable(bihuanbmp),则方法前面返回的就不是Bitmap类型,应该改为Drawable
}