获取网络gif时候报错 <Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0
2016-03-04 17:51
567 查看
最近在iPad项目中需要获取gif图片,并展示(如何展示gif【点击】)但是遇到下面的问题。代码如下,可自行测试一下,data有值,但是image = nil:
1. 虽然已经获取到NSData了。从data转换到UIImage的时候出错:
2. 分辨率比较高的横屏gif图片,容易解析不成功,我们又尝试竖屏的gif,是可以解析成功的
3. iPhone 平台,无论是横屏gif,还是竖屏gif,都是可以解析的成功
4. 模拟器上可以下载,并解析成功
难道是因为分辨率太大了?查阅了一些资料:stackoverflow上有网友说是Apple的bug【点击】,也有说是gif含有透明帧。现在还不确定什么导致的,欢迎解决该问题的网友留言
我把问题的gif放到这儿,大家可以自行测试一下。
下图是横屏gif
下图是竖屏gif
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://img.blog.csdn.net/20160304173605864"]];//竖屏gif 可以解析http://img.blog.csdn.net/20160304174457758 UIImage *image = [UIImage imageWithData:data];
结果表现如下:
gif图片下载是成功了(gif文件不大,才7k),分辨率是2014*1536,1. 虽然已经获取到NSData了。从data转换到UIImage的时候出错:
2. 分辨率比较高的横屏gif图片,容易解析不成功,我们又尝试竖屏的gif,是可以解析成功的
3. iPhone 平台,无论是横屏gif,还是竖屏gif,都是可以解析的成功
4. 模拟器上可以下载,并解析成功
错误输出是
<Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0 (2048 x 1536) - [canvasSize: 3145728 frameDataSize: 0 adjustment: 3315]难道是因为分辨率太大了?查阅了一些资料:stackoverflow上有网友说是Apple的bug【点击】,也有说是gif含有透明帧。现在还不确定什么导致的,欢迎解决该问题的网友留言
我把问题的gif放到这儿,大家可以自行测试一下。
下图是横屏gif
下图是竖屏gif
相关文章推荐
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- HTTP协议的学习
- OC-之AFNetworking与ASIHTTPRequest对比
- IHttpModule与IHttpHandler的区别整理
- Android操作HTTP实现与服务器通信
- 记录--java获取网络资源(图片、音频等)保存本地
- Python---TCP编程
- win7下面VM VirtualBox中linux CenOS 网络的配置
- 小笨狼漫谈多线程:GCD(一) http://www.cocoachina.com/ios/20160225/15422.html
- 网络爬虫的实现
- 10大常见的安全漏洞!你知道吗?
- c# .net4 httphelper
- HttpClient 发送post和get请求 调用第三方webservice
- iOS app网络监测,WiFi,4g,无网络,其他
- http,请求网络数据
- Unity多人游戏和网络功能(三) 游戏物体的派生
- Tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错
- c# uploadimage - httphelper
- 基于 openssl + vs2013 https服务端 Demo
- Unity多人游戏和网络功能(一) 概述和基本概念