android imageview 获取bitmap缩放大小,android – Imageview缩放方法“centercrop”作为代码...
我试图找出当它缩放图像时,
android正在做什么,特别是“centercrop”类型.所以要找到答案,我搜索了
ImageView源代码,并找到它为
here.
所以我试过的是这段代码:
public Bitmap buildBluredBoxBackground () {
int [] screenSize = Utilities.getScreenSize(mainActivityContext); //screensize[0] = x and [1] is y
Matrix mDrawMatrix = new Matrix();
Bitmap bitmap = ((BitmapDrawable)fullscreenViewHolder.imageViewArt.getDrawable()).getBitmap();
float scale;
float dx = 0, dy = 0;
if (bitmap.getWidth() * screenSize[1] > screenSize[0] * bitmap.getHeight()) {
scale = (float) screenSize[1] / (float) bitmap.getHeight();
dx = (screenSize[0] - bitmap.getWidth() * scale) * 0.5f;
} else {
scale = (float) screenSize[0] / (float) bitmap.getWidth();
dy = (screenSize[1] - bitmap.getHeight() * scale) * 0.5f;
}
mDrawMatrix.setScale(scale, scale);
mDrawMatrix.postTranslate(Math.round(dx), Math.round(dy));
result = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),mDrawMatrix,true);
... //Some processing work
return result;
}
但是它并没有给我相同的结果.我究竟做错了什么 ?
举个例子:
原始图片
原始ImageView中心裁剪
试用代码
编辑:
ImageView的XML
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageViewFullscreenArt"/>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageViewFullscreenArtBluredBox"/>
所以我的ImageView是全屏的.这就是为什么Im使用screenSize来处理它.
代码如何应用它
Bitmap bluredBoxBackground = buildBluredBoxBackground();
imageViewBluredBox.setImageDrawable(new BitmapDrawable(getResources(),bluredBoxBackground));
详细说明:
我只是试图获得与ImageView.setScaleType(ScaleType.CENTER_CROP)相同的效果.所以我的代码应该像原来的setScaleType方法一样.为什么我需要它作为代码?因为在我的情况下,我无法获取我的ImageView的绘图,但我必须处理&以某种方式编辑它
android imageview 获取bitmap缩放大小,android – Imageview缩放方法“centercrop”作为代码...相关推荐
- Android杂谈---获取手机屏幕大小
Android杂谈---获取手机屏幕大小 SurfaceView简单例子 玩转Android---UI篇---ZoomControls放大缩小图片 更多相关推荐 这里总结下android中关于手机屏幕 ...
- android 组件大小,Android编程获取组件尺寸大小的方法
本文实例讲述了Android编程获取组件尺寸大小的方法.分享给大家供大家参考,具体如下: 在oncreate()中利用view.getWidth()或是view.getHeiht()来获取view的宽 ...
- android调用音量方法,android中获取当前音量大小
android中获取当前音量大小 (2012-11-07 08:40:41) 标签: it 通过程序获取android系统手机的铃声和音量.同样,设置铃声和音量的方法也很简单! 设置音量的方法也很简单 ...
- android获取sd的大小,Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法...
本文实例讲述了Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法.分享给大家供大家参考,具体如下: 可能有的同学不知道系统已经提供了获取获取SD卡总容量,可用大小,机身内存总 ...
- 学习笔记:android下获取sdcard容量大小
在日常开发中,有时候需要对SDCard的容量先进行判断再存储文件.我们可以通过查看android关于setting功能的源代码,以便找到获取sdcard可用空间的方法. 获取sdcard容量大小的主要 ...
- android获取位图字节数,Android中获取图片尺寸大小两种方法
两种方法 建议用第二种 private void getPictureSize(String path) { /*第一种直接把bitmap加载到内存中,通过对bitmap的测量, 得出宽高,由于这个 ...
- android 微信分享多张图片大小,Android 关于微信分享图片过大失败的解决方案
android 关于微信分享图片过大失败的解决方案.这是因为微信对缩略图做了限制,最大不超过32k. 所以可以先通过图片加载工具获取bitmap,然后进行压缩,压缩方法如下: //压缩图片 publi ...
- android 动态获取权限有哪些,Android 6.0+ 动态获取权限
Android 6.0+ 动态获取权限 这里有一个现成的库,可以直接拿来用.方便简单 1.向app下的gradle添加依赖: dependencies{ // android 6.0+ 动态获取权限 ...
- android 背景图片自适应屏幕大小,android 设置桌面背景图片适应屏幕大小
今天做demo,设置桌面每天自动更新背景,但是桌面的背景都是被系统裁剪过的图片,上网百度了一下,有个过时的方法,改进后果然有用了! Bitmap bmp=BitmapFactory.decodeRes ...
- android改变整个app字体大小,Android APP字体随系统字体调整造成界面布局混乱问题解决方案...
一.遇到的问题: 当用户调整系统字体大小的时候,APP的字体一般也都会跟随改变,进而导致某些界面布局排版混乱. 下面先说一下关于sp单位的理解 sp单位除了受屏幕密度影响外,还受到用户的字体大小影响, ...
最新文章
- NuGet学习笔记(3) 搭建属于自己的NuGet服务器
- python发挥_充分发挥 Python 的威力:用最简单的方法打造互联互通的智能产品
- android地址格式转换,Android(安卓)时间戳和日期之间的转化
- iptables的地址取反操作
- 简易linux修改ip,让Linux修改IP、DNS等可以更简单
- 启明云端分享|SSD20X_烧录mac地址文档参考
- MSTP多业务传输平台对设备接口的要求有哪些?
- SAP License:制造行业环境分析
- SQL Server-【知识与实战I】条件查询、比较运算符查询、模糊查询、枚举查询、范围查询、空值查询、多重条件查询
- JSP教程第9讲笔记
- python 计算两个经纬度的距离_使用经纬度和海拔(高程)计算两点之间的距离...
- 2021-03-25--通信网的身份认证与鉴权机制
- linux 编译chromium,chromium(linux环境)指定版本下载和编译教程
- 灰度拉伸python_对比度拉伸(一些基本的灰度变换函数)基本原理及Python实现
- android滑屏效果,Android使用ViewFlipper和GestrueDetector共同实现滑屏效果实例
- 关于使用fluxion工具破解wifi密码的详细教程
- GIS 地质灾害评价——易发性评价方法的选择
- MobileNetv2-SSDLite训练自己的数据集
- 【动手学MVG】张正友标定法原理与实现
- Matlab指标权重的确定(AHP标度拓展层次分析法、EVM熵权法和博弈论的结合)