iphone gif 播放原理和源码(例子)

本文探讨了iOS平台上GIF播放的多种方法,包括使用UIimageView、UIWebView、OpenGL及CGImageSource等技术,并针对不同方法的优缺点进行了分析。

之前有做iphone的gif播放,搜索了很多博客,有几种方法

1)原理是解析出GIf,然后利用UIimageView的animationImage这个方法来设置动画。写出这个代码是牛人。

2)利用UIWebView来播放GIf

   [self.unreadWebView setOpaque:NO];
        [self.unreadWebView setBackgroundColor:[UIColor clearColor]];
    NSString* gifFileName = @"alert.gif";
        NSMutableString* htmlStr = [NSMutableString string];
        [htmlStr appendString:@"<img src=\""];
        [htmlStr appendFormat:@"%@",gifFileName];
        [htmlStr appendString:@"\" alt=\"picture\"/>"];
        [self.unreadWebView loadHTMLString:htmlStr baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

3)利用opengl来实现,如http://www.cocoachina.com/iphonedev/sdk/2010/0416/1084.html

4)利用iphone自带的 CGImageSource相关方法来实现


以上的方法1,3对于很多GIF播放支持不好,尤其是那种GIF帧间有依赖关系(或者说压缩过),播放起来显示不全,第二种没用过,据说只能播放一次,不能循环。

       所以选了第四种。网络上有开源代码GifView,不过这个代码不太好,尤其有预加载图像的时候,会自动播放。我做了一些改动。



源码:有要的联系我邮箱吧, linzhiji@gmail.com 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值