android 修改图片的宽高
2016-05-26 11:57
399 查看
需求:开发中服务器端要求把获取到的图片压缩处理,转化为指定的宽和高,例如:需要上传宽100,高200的图片
在android2.2提供了一个API可以直接实现
[java]
Bitmap resizeBmp = ThumbnailUtils.extractThumbnail(bmp, 100, 200);
但是因为项目需求需要兼容2.2一下的版本,这时需要另外一种方式,使用Bitmap.createBitmap方法生成指定宽高的图片
[html]
/**
* 处理图片
* @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);
// 得到新的图片 www.2cto.com
Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
return newbm;
}
在android2.2提供了一个API可以直接实现
[java]
Bitmap resizeBmp = ThumbnailUtils.extractThumbnail(bmp, 100, 200);
但是因为项目需求需要兼容2.2一下的版本,这时需要另外一种方式,使用Bitmap.createBitmap方法生成指定宽高的图片
[html]
/**
* 处理图片
* @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);
// 得到新的图片 www.2cto.com
Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
return newbm;
}
相关文章推荐
- Activity生命周期
- android6.0系统缺少com.android.internal.policy.PolicyManager导致无法获取LayoutInflater实例问题
- Android绘制炫酷引导界面
- Android开发之Shape和Selector、Layer-list的详解
- 定义定制动画
- java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support4/content/ContextCompat;
- Android Service最全面的解析
- Android基础开发小案例之短信发送器
- Android触摸事件分发机制
- (4.1.1.3)Android 的上下文菜单: ContextMenu的使用方法以及与OptionMenu的区别
- Android登陆注册
- android studio 工程中跟包名packageName相关的几个地方
- android 基础 图片加载思路
- 有关BaseAdapter的框架
- Android打造属于自己的数据库操作类。
- 聊天对话反馈到ListView,点击读取
- Android、ios 音频编解码 音频口通信 音频通信
- Android studio gradle配置
- 补间动画
- 手把手教你实现折线图之------安卓最好用的图表库hellocharts之最详细的使用介绍