图片拉伸

2015-06-22  本文已影响200人  coderJerry

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;

如图:


图片拉伸
上一篇下一篇

猜你喜欢

热点阅读