图片拉伸并保护关键部分不变形

聊天气泡.png

同一个形状的图片,美工不会每个尺寸都会帮你切图,所以码农们需要自备拉伸技能。拉伸用途很多,其中最常见的就是聊天气泡,先讲一下图片拉伸步骤:

1,通过图片名称创建UIImage 对象
2,通过image对象,返回可拉伸的图片
3,设置背景图片

上代码:
1,通过图片名称创建UIImage 对象

UIImage *image = [UIImage imageNamed:@"聊天气泡"];

假如,直接将image赋值只给某个imageView

UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake( 100, 100, 250, 250);
imageView.image = image;

会导致图片被拉伸变形,而且影响清晰度



因此我们可以设置图片的保护区域不被拉伸

2,通过image对象,调用resizableImageWithCapInsets方法,生成可拉伸的图片

//设置图片保护区域
UIEdgeInsets edgeInset = UIEdgeInsetsMake(image.size.height*0.5, image.size.width *0.5, image.size.height *0.5-1, image.size.width *0.5-1);
image = [image resizableImageWithCapInsets:edgeInset];

UIEdgeInsets 结构体:

UIEdgeInsets UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right) {
    UIEdgeInsets insets = {top, left, bottom, right};
    return insets;
}

其中,top、left、bottom、right 的值,是可被拉伸区域距原图边界的边距


3,设置背景图片

UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake( 100, 100, 250, 250);
imageView.image = image;

图片效果



文/a_ling(简书作者)
原文链接:http://www.jianshu.com/p/3ab802f473f9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值