Glide 入门到精通之四——图片缩放和调整大小

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50961330    文章出自:薛瑄的博客

图片调整大小和缩放是有趣的,在实际应用中也是很重要的

用 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);
  
  
  • 1
  • 2
  • 3
  • 4
  • 5

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

缩放图像

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

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);
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

FitCenter

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

Glide    .with(context)    .load(UsageExampleListViewAdapter.eatFoodyImages[0])    .override(600, 200)    .fitCenter()     .into(imageViewResizeFitCenter);
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果你对CenterCrop和FitCenter,想象不出是个什么操作,看看这个简短的介绍。

展望

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

参考:http://mrfu.me/2016/02/27/Glide_Image_Resizing_&_Scaling/

 

关注我的公众号,轻松了解和学习更多技术
  这里写图片描述

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值