图片拉伸(有保护区域) resizableImageWithCapInsets

Posted 王权

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片拉伸(有保护区域) resizableImageWithCapInsets相关的知识,希望对你有一定的参考价值。

在仿写QQ会话的时候背景蓝色图片是拉伸而来,但是有些地方是受保护的不能拉伸

所以定义了下面的工具类中的一个方法,专门拉伸图片

 

UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片

UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片

 

+ (UIImage *)resizeWithImage:(UIImage *)image{

    CGFloat top = image.size.height/2.0;

    CGFloat left = image.size.width/2.0;

    CGFloat bottom = image.size.height/2.0;

    CGFloat right = image.size.width/2.0;

    return [image resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right) resizingMode:UIImageResizingModeStretch];

}

对图片进行拉伸的函数,为了实现下面的功能

技术分享

 

resizableImageWithCapInsets有四个值上下左右

技术分享

上下左右的值定义了受保护区域,能被拉伸的地方是中间区域,一般我们都设成中心点为了安全

以上是关于图片拉伸(有保护区域) resizableImageWithCapInsets的主要内容,如果未能解决你的问题,请参考以下文章

iOS图片拉伸

拉伸图片的指定区域

iOS中的自定义“可调整大小的图像”绘图

Android .9 图片

android studio怎么制作nine-patch

android中9-patch图片的使用