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至新宽高并裁剪掉额外部分相关推荐

  1. 【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )

    文章目录 一.获取图像真实宽高 二.计算解码区域 三.设置解码参数 内存复用 像素格式 四.图像绘制 五.执行效果 六.源码及资源下载 官方文档 API : BitmapRegionDecoder 在 ...

  2. android surface 旋转屏幕,[Android/安卓]屏幕旋转时改变SurfaceView(视频)宽高

    int mWidth = getMeasuredWidth(); int mHeight = getMeasuredHeight(); int oldAngle = 90; /** * 旋转更新(屏幕 ...

  3. android获取屏幕像素密度DPI、density、屏幕宽高

    获取手机屏幕像素密度 dpi DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDe ...

  4. android layoutinflater 高度,探究LayoutInflater和RecyclerView中item设置宽高无效

    1. LayoutInflater是做什么的 Instantiates a layout XML file into its corresponding {@link android.view.Vie ...

  5. Android源码—为什么onResume方法中不可以获取View宽高

    前言 有一个经典的问题,我们在Activity的onCreate中可以获取View的宽高吗?onResume中呢? 对于这类八股问题,只要看过都能很容易得出答案:不能. 紧跟着追问一个,那为什么Vie ...

  6. Android LayoutParams改变View的宽高

    <Buttonandroid:id="@+id/button"android:layout_width="80dp"android:layout_heig ...

  7. android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...

    Android图片框架photoview如何记住状态并还原,包括缩放度,缩放后的移动的距离等等,尝试了好多方法都没有作用. private void generateImages() { for (i ...

  8. Android之对资源图片进行比例缩放

    效果图: 在平时加载图片时,我会使用SetImageBitmap.setImageResource.BitmapFactory.decodeResource来设置一张图 片通过以上方法来设置图片时,会 ...

  9. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法

    本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...

最新文章

  1. 《Revisiting Salient Object Detection! Simultaneous Detection, Ranking, and Subitizing of Multiple Sa
  2. Android开发之通过CursorAdapter读取数据(源代码分享)
  3. day22 time模块
  4. js中的错误missing ( before function parameter
  5. C和C++线性表的顺序存储结构
  6. 2.数据结构笔记学习--线性表基本操作
  7. [COURSE_PTHE] 4. 枚举
  8. 将梯度下降运用到线性回归
  9. Redis入门整合springboot
  10. 【Allennlp】: 怎样创建Allennlp中的Configuration文件
  11. 大数据开发:数据仓库分层设计
  12. 发票:企业级发票服务开放平台
  13. 写博客这些Markdown语法够用
  14. 电脑参数,台式电脑怎么查看配置参数|如何查询台式机硬件配置
  15. 复现KM3D:Monocular 3D Detection with Geometric Constraints Embedding and Semi-supervised Training
  16. miner配置文件详解
  17. jQuery按钮切页样式
  18. HbuildX打h5包/web2app包注意事项
  19. 01 - Empire Lupin One
  20. 腾讯安全联手知道创宇应对全球勒索攻击事件

热门文章

  1. cf服务器维修好久,cf:真懒!用了这么久evo却不知道维修,耐久度都快没了!...
  2. c++实现一个自杀程序
  3. SecureCRT工具使用hbase shell 打错字不能删除问题
  4. 月亮网摘2009.2.12
  5. BLOG介绍(碎梦花事)
  6. 【获奖案例巡展】信创先锋之星——甘肃省住房和城乡建设厅住建数据大脑
  7. 百度华为等各个面试笔试题目收集
  8. 一骑绝尘的大疆无人机,正在遭遇对手围攻光明顶?
  9. ChinaJoy09一行
  10. 5G:双连接技术与NSA组网。