iOS中的图片拉伸,并不是放大或者缩小图片的尺寸。因为即使你能放大到你想要的大小,但那样显示出来的图片也是失真的。图片的边缘会很模糊。这时我们就需要通过另一种方法来将图片放大。
图片拉伸的目的是为了不让图片放大后边缘失真。
做法:保护四周的图片像素,平铺拉伸中间部分。
方法有很多种,下面我们来一一的介绍:
- 代码方法
方法1:
UIImage *image = [UIImage imageNamed:@“00”];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30,30,30,30)];
imageView.image = image;
方法2:
UIImage *image = [UIImage imageNamed:@"chat_send_nor”];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];
imageView.image = image;
方法3:
只拉伸中间的1*1,宽度和高度参数设为宽度和高度的一半
.h:
@interface UIImage (Extention)
+ (UIImage *)resizableImage:(NSString *)name;
@end
.m:
@implementation UIImage (Extention)
+ (UIImage *)resizableImage:(NSString *)name
{
UIImage *image = [UIImage imageNamed:name];
image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
return image;
}
@end
controller:
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
imageView.image = image;
方法4:
做一个UIImage拉伸的扩展分类
UIImage *image = [UIImage resizableImage:@"chat_send_nor"];
imageView.image = image;
- 通过storyboard工具栏来拉伸
如图:
图片拉伸
网友评论