如何从 SDWebImage 获取图像大小?

Posted

技术标签:

【中文标题】如何从 SDWebImage 获取图像大小?【英文标题】:How to get image size from SDWebImage? 【发布时间】:2016-05-06 12:25:34 【问题描述】:

我正在使用 SDWebImage 从 url 获取图像。我想获取远程图像的大小以便进行一些布局计算。由于我只知道图片的url,如何从SDWebImage对象中获取呢?

【问题讨论】:

【参考方案1】:

请试试这个,它可能对你有用

-(UIImage *)downloadImageAsync:(NSString *)imageKey
 
     NSLog(@"image key : %@",imageKey);
      __block UIImage *returnedImage;
     SDWebImageManager *manager = [SDWebImageManager sharedManager];
     [manager downloadWithURL:[NSURL URLWithString:imageKey] options:0 progress:^(NSUInteger receivedSize, long long expectedSize)
    NSLog(@"received size %d expected size %lld", receivedSize, expectedSize);

    completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType,BOOL finished)
      if(image && finished) 
        returnedImage = image;
      
   ];

   if(returnedImage == nil) 
      NSLog(@"Returned Image Nil");
   
    return returnedImage;

【讨论】:

顺便说一句,这将始终返回nil 不,试试看。它为我工作。请检查它是否认为有误 你也可以试试这个----> SDWebImageManager *manager = [SDWebImageManager sharedManager]; [manager downloadWithURL:url delegate:self options:0 success:^(UIImage *image) cell.profilePicture.image = [self imageByScalingAndCroppingForSize:CGSizeMake(cell.profilePicture.frame.size.width, cell.profilePicture.frame.size.高度)图像:图像]; 失败:无]; 您找到解决方案了吗?

以上是关于如何从 SDWebImage 获取图像大小?的主要内容,如果未能解决你的问题,请参考以下文章

SDWebImage - 如何从缓存加载图像?

加载 SDWebImage 图像大小大于 imageview 的图像

TableCell ImageView 使用 URL 设置图像:SDWebImage:仅调整第一行的大小

如何从按钮的 imageView 中删除缓存的 SDWebImage

使用 SDWebImage 处理超大图像的下载

从网络加载图像并将其显示在集合视图中