进入新公司的第一个测试我能力的项目,就是做一个仿微信聊天界面的APP,其中有一个重要的考查点就是气泡效果,需要气泡大小能适应文字或者图片、文件的显示区域。当时想到了用代码和Image Slicing两种方式实现,和大家分享一下。
一、代码实现图片缩放
对于拉伸的方式,有以下两种:
*IUIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域是我们要保护的区域,也就是不被拉伸的区域
*UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域是要保护的区域,也就是不被重复显示的区域
二、Image Slicing可视化缩放
何为Image Slicing呢?,其实就相当于一个可视化的resizableImageWithCapInsets,可以用于指定在图片缩放时用来填充的像素。我们可以在Xcode的Assets.xcassets目录中选择要slicing的图片,点击图片界面右下方的Show Slicing按钮,在想要设定切片的图片上点击Start Slicing,将出现左中右(或者上中下)三条可以拖动的指示线,通过拖动它们来设定实际的缩放范围。
在左侧线(或者上方线)和中间线之间的像素将在缩放时被填充,在中间线和右侧线(或者下方线)之间的像素将被隐藏。
三、总结
代码的方法适用于处理网络上的图片,以及image中大量同一类需要处理的图片,提高效率;
Image Slicing方法适用于单个图片,可视化,提高可操作性。