通过bitmap改变图片的大小
2017-11-07 18:27
176 查看
有时候需要在项目中改变图片的大小,那么在代码中我们怎么改变图片的大小呢?
下面就讲下实现过程
一、通过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;
}
使用的时候直接调用就行。使用示例:
下面就讲下实现过程
一、通过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;
}
使用的时候直接调用就行。使用示例:
相关文章推荐
- 通过bitmap改变图片的大小
- MFC中怎么通过程序改变Picture Control控件的大小 设置合适的大小有助于图片不失真
- 通过html5的range属性动态改变图片的大小
- 通过代码设置改变radiobutton图片大小
- 通过transform属性改变图片的位置大小等信息
- Bitmap——在不改变大小的情况下,如何以最省内存的方式读取本地资源的图片
- 判断是否为移动浏览器;判断是否支持滑动事件;通过手势来改变图片大小;使用手机GPS定位用户所在的城市;利用浏览器的cookie保存用户名;
- Android 改变ImageView图片的Bitmap大小
- 【自用】Android 改变Bitmap图片资源为指定大小
- 通过html5的range属性动态改变图片的大小
- 通过滚轮改变图片大小
- 可拖动的无标题栏窗体,并且可以通过拉拽改变窗体大小。
- android 通过uri获取bitmap图片并压缩
- 练习1、通过API文档查询Math方法,打印出如下所示的近似圆,只要给定不同半径,圆的大小随之发生改变。
- 关于fckeditor ie7 不能拖拽改变图片大小的解决办法
- 本地判断图片大小和宽度是可以的;IE6下测试通过,其他还没考虑JS兼容性
- java 改变图片大小-3
- android BitMap 设置图片大小
- [Android算法] bitmap 将图片压缩到指定的大小
- jQuery动态改变图片显示大小(修改版)的实现思路及代码