iOS中如何从URL获取webp图片大小?

Posted

技术标签:

【中文标题】iOS中如何从URL获取webp图片大小?【英文标题】:How to get webp image size from URL in iOS? 【发布时间】: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 图像 【参考方案1】:

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

【讨论】:

所以这意味着我没有办法从 url 获取 webp 格式的图像而不在 ios 中下载它 是的,CGImageSourceCreateWithURL 也会下载整个图像,所以我认为没有太大区别。

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

如何从 Firebase 存储中获取调整大小的图片下载 URL

IOS -- 获取本地图片和网络图片的大小size

iOS - 获取本地图片和网络图片的大小size

Android使用.webp替换.jpeg与.png格式图片减少图片大小

ios webp转换jpg

java webp图片转换为png或jpg