快捷搜索: 王者荣耀 脱发

通过bitmap改变图片的大小

有时候需要在项目中改变图片的大小,那么在代码中我们怎么改变图片的大小呢?

下面就讲下实现过程

一、通过BitmapFactory获取原始图片

二、获取图片的宽、高

三、设置想要的宽、高大小

四、计算压缩的比率

五、获得缩放的matrix

六、获取新的bitmap

其实很简单,主要就是api的使用。下面就贴出代码

private Bitmap changeBitmapSize() { Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); int width = bitmap.getWidth(); int height = bitmap.getHeight(); Log.e("width","width:"+width); Log.e("height","height:"+height); //设置想要的大小 int newWidth=30; int newHeight=30; //计算压缩的比率 float scaleWidth=((float)newWidth)/width; float scaleHeight=((float)newHeight)/height; //获取想要缩放的matrix Matrix matrix = new Matrix(); matrix.postScale(scaleWidth,scaleHeight); //获取新的bitmap bitmap=Bitmap.createBitmap(bitmap,0,0,width,height,matrix,true); bitmap.getWidth(); bitmap.getHeight(); Log.e("newWidth","newWidth"+bitmap.getWidth()); Log.e("newHeight","newHeight"+bitmap.getHeight()); return bitmap; }

使用的时候直接调用就行。使用示例:

我的博客:/shenshizhong

我的简书:

经验分享 程序员 微信小程序 职场和发展