iOS 图片处理

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];

iOS 图片处理_第1张图片
原理图

四周的边界为保留区,中间灰色区域为平铺区,拉伸图片的过程是用平铺区的内容来进行填充,在纯色的情况下平铺和拉伸的效果是一致,但在渐变或者不纯色时效果不一样,有兴趣的可以尝试一下。这里的宽高是针对设备上的点而言的,也就是一倍图。
iOS 图片处理_第2张图片
Xcode界面操作

这里是 .xcassets格式的文件,可以直接操作。因为是 @2x图,所有数据上是代码中的两倍,才能保证相关一致。
iOS 图片处理_第3张图片
效果图

你可能感兴趣的:(iOS 图片处理)