iOS开发--如何进行图片缩放

 进入新公司的第一个测试我能力的项目,就是做一个仿微信聊天界面的APP,其中有一个重要的考查点就是气泡效果,需要气泡大小能适应文字或者图片、文件的显示区域。当时想到了用代码和Image Slicing两种方式实现,和大家分享一下。

一、代码实现图片缩放


对于拉伸的方式,有以下两种:

*IUIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域是我们要保护的区域,也就是不被拉伸的区域

*UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域是要保护的区域,也就是不被重复显示的区域

二、Image Slicing可视化缩放

何为Image Slicing呢?,其实就相当于一个可视化的resizableImageWithCapInsets,可以用于指定在图片缩放时用来填充的像素。我们可以在Xcode的Assets.xcassets目录中选择要slicing的图片,点击图片界面右下方的Show Slicing按钮,在想要设定切片的图片上点击Start Slicing,将出现左中右(或者上中下)三条可以拖动的指示线,通过拖动它们来设定实际的缩放范围。


在左侧线(或者上方线)和中间线之间的像素将在缩放时被填充,在中间线和右侧线(或者下方线)之间的像素将被隐藏。

三、总结

代码的方法适用于处理网络上的图片,以及image中大量同一类需要处理的图片,提高效率;

Image Slicing方法适用于单个图片,可视化,提高可操作性。

推荐阅读更多精彩内容

  • 对于图片拉伸是移动开发中很常见的需求,在前一阵子做项目中需要做一个类似于QQ聊天气泡,这个气泡会根据文字的多少而变...
    Joy___阅读 9,210评论 30 160
  • 返回一张受保护且被拉伸的图片 应用场景:聊天窗口的气泡 方法一(弃用): iOS 5.0以前使用(弃用)这个方法会...
    林安530阅读 4,045评论 0 13
  • 许多UIView的子类,如一个UIButton或一个UILabel,它们知道怎么绘制自己。迟早,你也将想要做一些自...
    shenzhenboy阅读 871评论 2 8
  • 在使用GPS定位时,需要import CoreLocation,还要向用户获取权限之后才能够进行定位。还有很容易遗...
    jackfrued_徒弟阅读 45评论 0 0
  • 今天晚上,室友聊起她曾经病重的爷爷奶奶和那些灰暗的时光,她们听着听着都红了眼眶,我却不言不语地吃完了手里的两个橘子...
    婷宝Ivy阅读 98评论 2 3