ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

iOS 图片拉伸压缩展示对比

2019-09-09 17:50:50  阅读:998  来源: 互联网

标签:拉伸 大图 压缩 iOS 小图 超出 imgview 图片


涉及到图片展示总避不开拉伸压缩的问题,针对这个问题,主要是依赖UIViewContentMode的几个属性来处理,下面从小图、大图(所谓的小图、大图是以imgview的尺寸来对比的,图片尺寸小于imgview的尺寸为小图,图片尺寸大于imgview的尺寸为大图)角度探讨这几个属性

一般我们常用的是以下四个属性,如图

 

UIViewContentModeScaleToFill  

小图拉伸(会虚化) 大图压缩 变形  (除非imgview按照图片宽高比设置宽高)改变图片适应imgview

UIViewContentModeScaleAspectFit  

小图等比拉伸(会虚化) 大图等比压缩  不能完全充满imgview

以imgview短边为基准 大图 等比(图片宽高比)例缩放至imgview完全装下图片为止  小图 拉伸至短边相等(图片并没有变形,等比例缩放至imgview完全装下图片为止.图片没有变形) 图片不变形完整显示 不能完全充满imgview  

UIViewContentModeScaleAspectFill  

小图等比拉伸(会虚化) 大图等比压缩 居中显示 能完全充满imgview (图片拉伸后居中显示 , 宽度或者高度拉伸到了与imgview的宽度或者高度相等, 图片并没有变形,但超出了imgview的范围)图片不变形 居中显示  能完全充满imgview  多余部分超出imgview 需要裁剪超出部分

UIViewContentModeCenter   

按照图片原尺寸显示 小图不能充满 大图超出 需要裁剪超出部分(图片并没有被拉伸,原尺寸显示,中点与imageView 的中点相等.由于原图的尺寸比imageView 的尺寸要大很多,所以完全超出了imageView的显示范围.)

综上所述:

凡是带有scale单词的属性,小图拉伸大图压缩.

ScaleToFill 非等比调整会变形能够充满imgview  且不超出

ScaleAspectFit ScaleAspectFill 等比调整(图片会保持原来的宽高比调整)不会变形 Fit不能完全充满imgview  Fill能完全充满imgview,大图时会超出需要裁剪

Center  按照图片原尺寸显示 小图不能充满 大图超出 需要裁剪超出部分(其余模式如Center 都不会调整图片)

 

所以大图时要如果想让图片占满整个imgview,并且不变形,可以采用一种折中的方式

self.imgview.contentMode =UIViewContentModeScaleAspectFill;

//超出容器范围的切除掉

self.imgview.clipsToBounds = YES;

小图的话直接使用UIViewContentModeCenter

 

参考博客:https://www.jianshu.com/p/8c784b59fe6a

 

标签:拉伸,大图,压缩,iOS,小图,超出,imgview,图片
来源: https://www.cnblogs.com/lijianyi/p/11493125.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有