美文网首页
图片拉伸

图片拉伸

作者: coderJerry | 来源:发表于2015-06-22 21:50 被阅读200次

    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工具栏来拉伸

    如图:


    图片拉伸

    相关文章

      网友评论

          本文标题:图片拉伸

          本文链接:https://www.haomeiwen.com/subject/gxasqttx.html