聊天的时候我们经常用到很多搞笑的Gif表情,有时候千言万语真的比不上一个Gif来的实在。以前一直以为想Gif作为一种常用格式,各大平台应该都会支持,知道前两天项目中要加载一个Gif作为过渡动画,我查了半天帮助文档,发现IOS中居然没有现成的支持加载和播放Gif的类。
于是上网简单的搜了一下,发现两个比较有有用的代码。网址分别如下:
三种方式显示GIF图片
andrei512 / GIFLoader.h
这两种方法都是采用ImageIO库,对Gif文件进行解析,然后自己做动画显示,至此显示Gif动画的思路就已经比较明确了。
我们知道Gif是由一阵阵画面组成的,而且每一帧画面播放的时常可能会不相等,观察上面两个例子,发现他们都没有对Gif中每一帧的显示时常做处理,这样的结果就是整个Gif中每一帧画面都是以固定的速度向前播放,很显然这并不总会符合需求。
于是自己写一个解析Gif的工具类,解决每一帧画面并遵循每一帧所对应的显示时间进行播放。
程序的思路如下:
1、首先使用ImageIO库中的CGImageSource家在Gif文件。
2、通过CGImageSource获取到Gif文件中的总的帧数,以及每一帧的显示时间。
3、通过CAKeyframeAnimation来完成Gif动画的播放。
下面直接上我写的解析和播放Gif的工具类的代码:
https://github.com/smileEvday/SvGifView/
代码很短也比较容易,就不一一解释了。最开始的那个C函数主要就是用来解析Gif的,之所以用C函数是因为我要返回多个信息,而Objective-c只能返回一个参数,而且Objective-c和C语言可以很方便的混合编程。
gif ios 播放 iphone 看gif
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
GIF制作安装教程
GIF这款简单而强大的屏幕录制工具!
屏幕录制 下载安装 用户界面 -
如何用PYTHON代码编辑gif,正方形变圆形
使用python 将正方形的图标gif,转换成圆形gif.
Image python gif Pillow -
ios 开发如何显示gif gif iphone
一、简单介绍gif动画是iOS开发中很常用的一个功能,有的是为了显示加载视频的过程,更多的是为了显示一个结果状态(动画更直观)。那么如何执行gif动画,方法有很多。(这里只写一下方法三,前两种之前都用过)
ios 开发如何显示gif gif动画 #import 无限循环 -
iOS Gif 图转Data gif转视频 iphone
写这篇文章背景是小编周末一个人在家研究有哪些工具可以方便的帮助大家进行视频格式与gif格式之间的相互转换;但是最后发现很多软件支持的是视频转成GIF,但是导入GIF想再转换为视频时,会有格式不支持的情况出现;之所以现在用到GIF格式的人越来越多,是因为GIF格式动图比小视频更轻量、比普通图片更能表达到位;一张动图就可以省去多张图片的繁琐,同时又可以直观清晰的展现整个流程的操作;平常聊
iOS Gif 图转Data spring图片转视频 如何用pycharm把格式变为exe 文件大小 软件操作