Glide - 图片重设大小 和 缩放

news/2024/7/3 12:25:08

https://mrfu.me/2016/02/27/Glide_Image_Resizing_&_Scaling/

用 resize(x,y) 调整图片大小

通常情况下,如果你的服务器或者 API 提供的图像是你需要的精确尺寸,这时是完美的情况下,在内存小号和图像质量之间的权衡。

在和 Picasso 比较后,Glide 有更加高效的内存管理。Glide 自动限制了图片的尺寸在缓存和内存中,并给到 ImageView 需要的尺寸。Picasso 也有这样的能力,但需要调用 fit() 方法。对于 Glide,如果图片不会自动适配到 ImageView,调用 override(horizontalSize, verticalSize) 。这将在图片显示到 ImageView之前重新改变图片大小。

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200) // resizes the image to these dimensions (in pixel). does not respect aspect ratio
    .into(imageViewResize);

当你还没有目标 view 去知道尺寸的时候,这个选项也可能是有用的。比如,如果 App 想要在闪屏界面预热缓存,它还不能测量 ImageView 的尺寸。然而,如果你知道这个图片多少大,用 override 去提供明确的尺寸。

缩放图像

现在,对于任何图像操作,调整大小真的能让长宽比失真并且丑化图像显示。在你大多数的使用场景中,你想要避免发生这种情况。Glide 提供了一般变化去处理图像显示。提供了两个标准选项:centerCrop 和 fitCenter

CenterCrop

CenterCrop()是一个裁剪技术,即缩放图像让它填充到 ImageView 界限内并且裁剪额外的部分。ImageView 可能会完全填充,但图像可能不会完整显示。

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200) // resizes the image to these dimensions (in pixel)
    .centerCrop() // this cropping technique scales the image so that it fills the requested bounds and then crops the extra.
    .into(imageViewResizeCenterCrop);

FitCenter

fitCenter() 是裁剪技术,即缩放图像让图像都测量出来等于或小于 ImageView 的边界范围。该图像将会完全显示,但可能不会填满整个 ImageView

Glide
    .with(context)
    .load(UsageExampleListViewAdapter.eatFoodyImages[0])
    .override(600, 200)
    .fitCenter() 
    .into(imageViewResizeFitCenter);

我们会在以后的博客去做自定义的转换,以及 centerCrop() 和 fitCenter() 。

Outlook

在这篇博客中,你学会如何去对图像的大小和显示进行调整。这对创建一个很棒的应用非常具有帮助。在我们进入 Glide 进阶课程之前,我们来看一个 Glide 很独特的功能:显示 Gif 和 video。

 


http://www.niftyadmin.cn/n/4479912.html

相关文章

关于web打印隐藏打印按扭

web页加入打印等功能&#xff1a; <OBJECT idWebBrowser classidCLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height0 width0></OBJECT> <input typebutton value打印 οnclickdocument.all.WebBrowser.ExecWB(6,1)> <in…

云锁的安装

www.yunsuo.com.com 快速安装这里&#xff0c;直接安装 64位&#xff0c;或者32位 然后去下载一个云锁&#xff0c;客户端 这个&#xff0c;注册一个号 等服务端安装好以后&#xff0c;按要求输入你的账号密码&#xff0c;绑定到客户端&#xff0c;就可以在客户端操作保护服…

Eclipse Mac系统常用的快捷方式

一.编写代码 commandoptionS&#xff1a;快速生成代码&#xff0c;Getter&Setter&#xff0c;Constructor等commandoptionM&#xff1a;将某段代码抽出放在一个单独的方法里 操作方法&#xff1a;选中一段想封装的代码&#xff0c;然后快捷键 commandoptionMcommandoption…

Android 系统自带图片裁剪功能(适配7.0、8.0、对了还有小米手机)

前段时间写了如何获取相册和拍照之后的照片并且进行显示和上传&#xff0c;这一次是如何进行圆形图像制作&#xff0c;经常看我写的笔记的人会知道&#xff0c;我很懒。那么我就懒的自定义了&#xff0c;目前需求就用原生的就好了&#xff0c;大神的轮子&#xff0c;我会在后面…

Java8新特性Stream之归约reduce

归约和收集 一.归约 T reduce(T identity, BinaryOperator<T> accumulator);作用&#xff1a;可以将流中的元素反复结合起来&#xff0c;得到新的值。返回T 第一个参数T identity&#xff0c;就是起始值第二个参数BinaryOperator< T > accumulator&#xff0c;Bi…

Android 7.0 FileProvider简单使用以及冲突处理

今天主要说一下多个FileProvider造成的冲突该怎么解决 &#xff0c;至于FileProvider的使用可以看看鸿洋的这篇文章 鸿洋的这篇文章 下面根据我自己做项目时遇到的问题&#xff0c;做一下总结&#xff0c; 项目用到了bugly&#xff0c;广点通广告&#xff0c;系统拍照 广点通给…

FileProvider 路径配置策略的理解

FileProvider 路径配置策略的理解 ★ FileProvider的使用 在AndroidManifest.xml中 <providerandroid:name"android.support.v4.content.FileProvider"android:authorities"set_your_package_name"android:exported"false"android:grantUri…

适配Android7.0调取相机拍照并返回照片

Android调取系统相机拍照获取到拍摄照片或从相册中直接选取照片后展示上传是Android开发中很常见的一个功能&#xff0c;实现的思路主要是&#xff1a; 自Android 6.0以后对某些涉及用户隐私权限的获取需要动态获取&#xff0c;所以首先是检查权限&#xff0c;如没有权限则动态…