美文网首页
SDWebImage阅读笔记

SDWebImage阅读笔记

作者: Z了个L | 来源:发表于2016-11-12 14:30 被阅读11次
    • 根据图像的二进制数据判断图片的类型
    
    // NSData+ImageContentType.h
    
    /**
     *  Compute the content type for an image data
     *
     *  @param data the input data
     *
     *  @return the content type as string (i.e. image/jpeg, image/gif)
     *
     * 根据图像的二进制数据判断图片的类型
     *
     * @param  data 传入的二进制数据
     * @return 图片类型的字符串(如:image/jpeg,image/gif)
     */
    + (NSString *)sd_contentTypeForImageData:(NSData *)data;
    
    
    
    • 传入Gif图像的名称,得到一个可动画的图像
    
    // UIImage+GIF.h
    //传入Gif图像的名称,得到一个可动画的图像
    + (UIImage *)sd_animatedGIFNamed:(NSString *)name;
    
    //传入Gif图像的二进制数据,得到一个可动画的图像
    + (UIImage *)sd_animatedGIFWithData:(NSData *)data;
    
    - (UIImage *)sd_animatedImageByScalingAndCroppingToSize:(CGSize)size;
    
    
    
    • 对key(通常为URL)进行MD5加密,加密后的密文作为图片的名称
    
    //对key(通常为URL)进行MD5加密,加密后的密文作为图片的名称
    - (NSString *)cachedFileNameForKey:(NSString *)key {
        const char *str = [key UTF8String];
        if (str == NULL) {
            str = "";
        }
        unsigned char r[CC_MD5_DIGEST_LENGTH];
        CC_MD5(str, (CC_LONG)strlen(str), r);
        NSString *filename = [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%@",
                              r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10],
                              r[11], r[12], r[13], r[14], r[15], [[key pathExtension] isEqualToString:@""] ? @"" : [NSString stringWithFormat:@".%@", [key pathExtension]]];
    
        return filename;
    }
    
    
    • 图片的解压缩
    
    // SDWebImageDecoder.h
    //图片解压缩处理通用思路:是在子线程,将原始的图片渲染成一张的新的可以字节显示的图片,来获取一个解压缩过的图片。
    //图片的解压缩以前(会导致内存暴增?还未验证)
    + (UIImage *)decodedImageWithImage:(UIImage *)image;
    
    

    相关文章

      网友评论

          本文标题:SDWebImage阅读笔记

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