android怎么设置图片缩放比例,Android按比例缩放图片
Point outSize = new Point(showBigIvPic.getWidth(),showBigIvPic.getHeight());// 显示区域的高宽
// 使用图片的缩放比例计算将要放大的图片的高度
int bitmapScaledHeight = Math.round(resourceBitmap.getHeight() * outSize.x * 1.0f / resourceBitmap.getWidth());
// 以屏幕的宽度为基准,如果图片的宽度比屏幕宽,则等比缩小,如果窄,则放大
final Bitmap scaledBitmap = Bitmap.createScaledBitmap(resourceBitmap, outSize.x, bitmapScaledHeight, false);
showIvPic.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
try {
showIvPic.getViewTreeObserver().removeOnPreDrawListener(this);
//这里防止图像的重复创建,避免申请不必要的内存空间
if (scaledBitmap.isRecycled())return true;//必须返回true
int viewHeight = showBigIvPic.getMeasuredHeight();
Bitmap finallyBitmap = null;
if(scaledBitmap.getHeight() > viewHeight){
int offset = (scaledBitmap.getHeight() - viewHeight) / 2;// 计算将要裁剪的图片的顶部以及底部的偏移量
finallyBitmap = Bitmap.createBitmap(scaledBitmap, 0, offset, scaledBitmap.getWidth(),scaledBitmap.getHeight() - offset * 2);// 对图片以中心进行裁剪,裁剪出的图片就是非常适合了
}else{
int offset = (viewHeight - scaledBitmap.getHeight()) / 2;// 计算将要显示图片的顶部偏移量
//finallyBitmap = Bitmap.createBitmap(scaledBitmap, 0, offset, scaledBitmap.getWidth(),scaledBitmap.getHeight());
finallyBitmap = Bitmap.createBitmap(scaledBitmap.getWidth(), viewHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(finallyBitmap);
canvas.drawBitmap(scaledBitmap, 0, offset, null);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
}
if(null != finallyBitmap){
if(!finallyBitmap.equals(scaledBitmap)){//如果返回的不是原图,则对原图进行回收
scaledBitmap.recycle();
System.gc();
}//end of if
//showBigIvPic.setImageBitmap(resourceBitmap);
}else{
ToastUtils.showToastNew("抱歉,显示选择图片失败...");
}
}catch (Exception e){
ToastUtils.showToastNew("抱歉,显示选择图片异常...");
}
if (resourceBitmap != null && !resourceBitmap.isRecycled()) resourceBitmap.recycle();
return true;
}
});
android怎么设置图片缩放比例,Android按比例缩放图片相关推荐
- Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)...
Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2) 附录文章1以xml布局文件方式实现了一个view在横竖屏切换时候的大小尺寸缩放,实现这种需求 ...
- Android中设置显示文本,Android文本显示控件-TextView属性详解
android:autoLink //设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web /email/phone/map/all) andr ...
- python调整屏幕缩放比例_python实现批量按比例缩放图片效果
本文实例为大家分享了python实现批量按比例缩放图片的具体代码,供大家参考,具体内容如下 把脚本文件放在要缩放的文件夹下面. 双击运行脚本,输入要缩放的系数.脚本会在当前目录下创建一个scaledI ...
- Python Opencv等比例缩放图片
Python Opencv等比例缩放图片 前言 前提条件 相关介绍 实验环境 等比例缩放图片 代码实现 输出结果 前言 本文是个人使用Python Opencv处理图片的笔记,由于水平有限,难免出现错 ...
- java实现按比例缩放图片技巧
java实现按比例缩放图片技巧 案例需求: 根据指定的文件名称,用户给定的缩放比例来完成缩放图片 思路分析: 1.文件对象File 2.BufferedImage构造器: 图像数据的访问的缓冲器 3. ...
- html img图片不变形等比例缩放,兼容ie6
方法1 img 只定义宽(或高)度可以等比例缩放,外面加个框,设置宽高和 overflow:hidden; 即可 方法2 在img标签里面只设置宽,不设置高,图片就会等比例缩放. 方法3 或者把图片作 ...
- html图片缩放6,html img图片不变形等比例缩放,兼容ie6
方法1 img 只定义宽(或高)度可以等比例缩放,外面加个框,设置宽高和 overflow:hidden; 即可方法2 在img标签里面只设置宽,不设置高,图片就会等比例缩放. 方法3 或者把图片作背 ...
- python 等比例缩放图片 自写
Python等比例缩放图片 使用了 OpenCV 进行图片的读取 输入:利用 cv2.imread 函数读取的 Mat 矩阵 输出:缩放后的 Mat 矩阵(示例代码为缩放到 512x512 大小,也可 ...
- [原创] 图片操作的类(ImageLibrary)-按比例缩放图片
[原创] 图片操作的类(ImageLibrary)-按比例缩放图片 http://www.vjsdn.com/bbs/bbsTopicDetails.aspx?pid=241 转载于:https:// ...
- Java 等比例缩放图片
/*** 等比率缩放* @param imgsrc 原图片路径* @param imgdist 缩放图片路径* @param widthdist 指定缩放宽度*/ public static void ...
最新文章
- Sql Server实用操作-无数据库日志文件恢复数据库两种方法
- oracle10g总结
- 面包板上的高频放大电路
- java表格标题栏_Java MFixedColumnTable (提供行标题栏的表格)
- delphi webbrowser 显示 html,delphi webbrowser
- [置顶] 读取pdf并且在web页面中显示
- 修改 Linux 主机名
- 对于response.setContentType(MIME)的解释
- ORA-00845 方案解决
- 如何纠正孩子打人、骂人的习惯?
- Qt中QBitmap 的使用 --QBitmap的作用
- caffe训练的实时可视化思路
- amd核芯显卡控制面板自定义分辨率_电脑显示器分辨率超频教程:1080P超2K分辨率的方法...
- 冰点文库下载安装及使用教程
- Android Studio简介
- 罗技键盘+android风格,Logitech 罗技 K480 蓝牙键盘,IOS、OSX 和安卓三大系统使用体验...
- Visual Studio 2013 旗舰版正式版密钥
- android游戏工作心得体会,幼儿园游戏的心得体会(精选6篇)
- 2020山师计算机考研专业目录,2020年山东师范大学全日制学硕招生目录-008文学院...
- ECS云服务器新手上路
热门文章
- 彩灯控制单片c语言程序,基于51单片机的led彩灯设计。 9个灯(红绿蓝三色)。按键控制 c语言程序...
- 先行一步,7大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了
- 自适应随机图片背景导航页源码
- 前端基础入门之css定位 position
- h5超简单大转盘抽奖效果(概率可控)
- 在HTML中把文本变成斜体的是,CSS/HTML:什么是使文本斜体的正确方法?
- Java电商平台之订单功能和支付功能实现
- 数字中国城市巡礼之济宁:以信立本,大数据点亮城市信用招牌
- 关于旋转(Rotation)
- 优惠券使用---责任链模式