【问题标题】:Is there a way to detect if a UIImage / NSData is animated / a GIF?有没有办法检测 UIImage / NSData 是否为动画 / GIF?
【发布时间】:2014-12-15 17:04:56
【问题描述】:

不完全确定他们是如何做到的,但是对于照片共享网站 Imgur,文件扩展名似乎并不重要。拿这个 GIF:http://i.imgur.com/bNHPTot.gif 如果我将 .gif 更改为 .jpg,结果是一样的:http://i.imgur.com/bNHPTot.jpg

如果我使用NSURLSession 来下载后一个链接,有没有办法将生成的NSData(或UIImage,如果我将其转换成那个)识别为动画?

基本上,有没有办法检查下载的图像是否动画?

【问题讨论】:

标签: ios objective-c cocoa-touch uiimage nsdata


【解决方案1】:

如果我不得不猜测,我会说这是因为他们的服务器忽略了扩展并为您提供服务http://i.imgur.com/bNHPTot

对于您提供的两个 URL,从 HEAD 请求返回的内容类型是“image/gif”。您可以检查响应的内容类型以确定基本的动画功能,但静态 gif 将报告与动画相同的结果。您必须自己解码 gif 才能检测多个帧。可能有一些库可以帮助您解决这个问题。

【讨论】:

【解决方案2】:

维基百科认为 gif 文件中的帧由图形控制扩展(2 字节标题 21 F9)分隔。如果有多个 GCE,您可以解析 gif 并假设它是动画的。

http://en.wikipedia.org/wiki/Graphics_Interchange_Format#Animated_GIF

【讨论】:

    猜你喜欢
    • 2012-02-04
    • 2016-07-10
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多