获取网络gif时候报错 <Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0
来源:互联网 发布:php curl 设置头部 编辑:程序博客网 时间:2024/06/06 03:44
最近在iPad项目中需要获取gif图片,并展示(如何展示gif【点击】)但是遇到下面的问题。代码如下,可自行测试一下,data有值,但是image = nil:
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(有些mac系统的safari无法看到图片,试试别的浏览器)
下图是竖屏gif
1 0
- 获取网络gif时候报错 <Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0
- GIF
- gif
- gif
- gif
- gif
- GIF
- gif
- gif
- android-加载网络Gif和本地Gif
- 加载网络gif图片
- 获取Gif的时间
- iOS由ImageIO.framework实现gif的系统解码
- iOS由ImageIO.framework实现gif的系统解码
- Python3.4.3中使用imageio库png合成gif
- 从网络中获取图片或动图(gif)
- Qt 获取网络gif图片并保存到本地显示
- cinder list 报错:ERROR: Malformed request url (HTTP 400)
- git查看本地和创建分支、上传分支、提交代码到分支、删除分支等,git分支
- 开始使用Tapestry
- Linux内存寻址之分段机制及分页机制
- 关于程序forceclose时优雅退出解决方案
- 前端开发工程化探讨--基础篇
- 获取网络gif时候报错 <Error>: ImageIO: _CGImagePluginInitGIF malformed GIF frame#0
- 分布式进阶(十六)Zookeeper入门基础
- 浅析Java虚拟机结构与机制[转]
- BlockingQueue
- 访问 NULL 指针错误背后的原理
- Spark on YARN两种运行模式
- HTTP协议的学习
- 控制反转(IoC)与依赖注入(DI)
- LintCode 直方图最大矩形覆盖