iOS 图片处理

2018-03-19  本文已影响11人  佚名_i

iOS中背景图片是经常可以用到的,为了避免大图占用内存,或者控件大小视内容而定时,就必须采用图片拉伸。图片拉伸也是有技巧的,系统默认的拉伸方式往往不能令人满意,这里就可以采用以下代码。

//    [self.weBtn setImage:chatImage forState:UIControlStateNormal];!
//   setImage 是不会拉伸图片的
    UIImage *otherImage = [UIImage imageNamed:@"bg_chat_bubble_yellow"];
    otherImage = [otherImage resizableImageWithCapInsets:UIEdgeInsetsMake(27, 8, 7, 14) resizingMode:UIImageResizingModeStretch];
    [self.otherBtn setBackgroundImage:otherImage forState:UIControlStateNormal];
原理图
四周的边界为保留区,中间灰色区域为平铺区,拉伸图片的过程是用平铺区的内容来进行填充,在纯色的情况下平铺和拉伸的效果是一致,但在渐变或者不纯色时效果不一样,有兴趣的可以尝试一下。这里的宽高是针对设备上的点而言的,也就是一倍图。
Xcode界面操作
这里是.xcassets格式的文件,可以直接操作。因为是@2x图,所有数据上是代码中的两倍,才能保证相关一致。
效果图
上一篇下一篇

猜你喜欢

热点阅读