【问题标题】:iphone SDWebImage resize cached imageiphone SDWebImage 调整缓存图像的大小
【发布时间】:2012-08-09 11:35:15
【问题描述】:

我正在从 SBJson 解析器解析 json 并成功在表格视图中显示它。我正在使用 SDWebImage 缓存图像以通过使用

进行离线支持
  UIImageView *thumbImg = [[UIImageView alloc] initWithFrame:CGRectMake(5, 3, 50, 50)];
        thumbImg.tag = 1;
        thumbImg.contentMode = UIViewContentModeScaleAspectFill;
        thumbImg.layer.cornerRadius = 10;
        thumbImg.layer.masksToBounds = YES;
        thumbImg.layer.borderColor = [UIColor lightGrayColor].CGColor;
        thumbImg.layer.borderWidth = 1.0;
        [cell.contentView addSubview:thumbImg];

[thumbImg setImageWithURL:[NSURL URLWithString:myObj.thumbnailURL]
               placeholderImage:[UIImage imageNamed:@"Icon.png"]
                        success:^(UIImage *image) {
                            NSLog(@"success");
                        }
                        failure:^(NSError *error) {
                            NSLog(@"write error %@", error);
                        }];

它在我的 50x50 图像视图中完美显示。但是缩略图图像的大小大约为 400x600。因此,由于在 imageview 中加载了大图像缩略图,我的 tableview 滚动非常慢。如何在缓存之前调整 SDWebImage 获取的图像的大小,以便下次从缓存加载时加载小尺寸图像。我有调整图像大小的功能,但不知道在哪里添加该代码。我试图通过给出我在成功块中获得的图像指针,但它没有效果。

谢谢

【问题讨论】:

    标签: ios sdwebimage


    【解决方案1】:

    这里!

    这个库集成了 SDWebImage 和一个 Resize 库

    https://github.com/toptierlabs/ImageCacheResize

    【讨论】:

    • 感谢托尼这是我正在寻找的。​​span>
    • 如果您发现任何错误,请告诉我。我将在接下来的几天发布一个新版本,修复一些小错误
    • 为我节省了大量时间,并通过调整大小帮助我减少了内存占用。真的很喜欢用 bounds 更改缓存键的位...谢谢托尼! !
    • @Tony 刚刚发现了一个错误。当从磁盘缓存中读回图像时,调整大小会丢失。经过一番调试,我发现罪魁祸首是 SDWebImageManager.m [[SDImageCache sharedImageCache] storeImage:image imageData:UIImagePNGRepresentation(image) forKey: cacheKey toDisk:!(options & SDWebImageCacheMemoryOnly)]; 中的这一行之前,它存储的是 downloader.imagedata
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多