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