【问题标题】:How to get webp image size from URL in iOS?iOS中如何从URL获取webp图片大小?
【发布时间】:2019-05-05 07:33:51
【问题描述】:

我尝试使用如下CGImageSourceCreateWithURL 方法,但似乎高度和宽度都相等0。有没有其他方法可以从 url 获取 webp 图片?

CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)imageUrl, NULL);
NSDictionary* imageHeader = (__bridge NSDictionary*) CGImageSourceCopyPropertiesAtIndex(source, 0, NULL);
NSLog(@"Image header %@",imageHeader);
NSLog(@"PixelHeight %@",[imageHeader objectForKey:@"PixelHeight"]);
NSNumber* height = [imageHeader objectForKey:@"PixelHeight"];
NSNumber* width = [imageHeader objectForKey:@"PixelWidth"];

【问题讨论】:

  • 您如何确定 CGImageSourceRef 的高度和宽度?您使用的是CGImageSourceCopyProperties 还是其他?创建 CGImageSource 并不会实际加载数据,因此在您实际获取某些内容之前它不会知道高度和宽度。
  • 是的,我可以使用 CGImageSourceCopyProperties 获取 jpg 或 png url 图像大小,但不能使用 webp url 图像

标签: objective-c webp


【解决方案1】:

iOS 不支持 webp 格式的图片。您可以使用 URLSession 获取图像数据,然后使用它创建带有SDWebImage 的 NSImage。

【讨论】:

  • 所以这意味着我没有办法从 url 获取 webp 格式的图像而不在 ios 中下载它
  • 是的,CGImageSourceCreateWithURL 也会下载整个图像,所以我认为没有太大区别。
猜你喜欢
  • 2016-09-21
  • 2016-06-07
  • 1970-01-01
  • 2017-03-22
  • 2014-08-04
  • 1970-01-01
  • 2017-08-26
  • 2020-03-14
  • 2021-03-30
相关资源
最近更新 更多