android bitmap等比缩放,等比缩放Bitmap至新宽高并裁剪掉额外部分
private static Bitmap createScaledBitmap(Bitmap bm, int newWidth, int newHeight) {
int w = bm.getWidth(); // 得到图片的宽,高
int h = bm.getHeight();
int retX;
int retY;
double wh = (double) w / (double) h;
double nwh = (double) newWidth / (double) newHeight;
if (wh > nwh) {
retX = h * newWidth / newHeight;
retY = h;
} else {
retX = w;
retY = w * newHeight / newWidth;
}
int startX = w > retX ? (w - retX) / 2 : 0;//基于原图,取正方形左上角x坐标
int startY = h > retY ? (h - retY) / 2 : 0;
Bitmap bit = Bitmap.createBitmap(bm, startX, startY, retX, retY, null, false);
bm.recycle();
return bit;
}
来源网络,原作者未知,侵权请告知备注原作者姓名或删除。
private static Bitmap createScaledBitmap(Bitmap bm, int newWidth,
android bitmap等比缩放,等比缩放Bitmap至新宽高并裁剪掉额外部分相关推荐
- 【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )
文章目录 一.获取图像真实宽高 二.计算解码区域 三.设置解码参数 内存复用 像素格式 四.图像绘制 五.执行效果 六.源码及资源下载 官方文档 API : BitmapRegionDecoder 在 ...
- android surface 旋转屏幕,[Android/安卓]屏幕旋转时改变SurfaceView(视频)宽高
int mWidth = getMeasuredWidth(); int mHeight = getMeasuredHeight(); int oldAngle = 90; /** * 旋转更新(屏幕 ...
- android获取屏幕像素密度DPI、density、屏幕宽高
获取手机屏幕像素密度 dpi DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDe ...
- android layoutinflater 高度,探究LayoutInflater和RecyclerView中item设置宽高无效
1. LayoutInflater是做什么的 Instantiates a layout XML file into its corresponding {@link android.view.Vie ...
- Android源码—为什么onResume方法中不可以获取View宽高
前言 有一个经典的问题,我们在Activity的onCreate中可以获取View的宽高吗?onResume中呢? 对于这类八股问题,只要看过都能很容易得出答案:不能. 紧跟着追问一个,那为什么Vie ...
- Android LayoutParams改变View的宽高
<Buttonandroid:id="@+id/button"android:layout_width="80dp"android:layout_heig ...
- android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...
Android图片框架photoview如何记住状态并还原,包括缩放度,缩放后的移动的距离等等,尝试了好多方法都没有作用. private void generateImages() { for (i ...
- Android之对资源图片进行比例缩放
效果图: 在平时加载图片时,我会使用SetImageBitmap.setImageResource.BitmapFactory.decodeResource来设置一张图 片通过以上方法来设置图片时,会 ...
- android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法
本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...
最新文章
- 《Revisiting Salient Object Detection! Simultaneous Detection, Ranking, and Subitizing of Multiple Sa
- Android开发之通过CursorAdapter读取数据(源代码分享)
- day22 time模块
- js中的错误missing ( before function parameter
- C和C++线性表的顺序存储结构
- 2.数据结构笔记学习--线性表基本操作
- [COURSE_PTHE] 4. 枚举
- 将梯度下降运用到线性回归
- Redis入门整合springboot
- 【Allennlp】: 怎样创建Allennlp中的Configuration文件
- 大数据开发:数据仓库分层设计
- 发票:企业级发票服务开放平台
- 写博客这些Markdown语法够用
- 电脑参数,台式电脑怎么查看配置参数|如何查询台式机硬件配置
- 复现KM3D:Monocular 3D Detection with Geometric Constraints Embedding and Semi-supervised Training
- miner配置文件详解
- jQuery按钮切页样式
- HbuildX打h5包/web2app包注意事项
- 01 - Empire Lupin One
- 腾讯安全联手知道创宇应对全球勒索攻击事件