最近在研究GIF在Android上的实现,并有一些心得。现在分享出来,希望跟大家能一起实现。

  起初看到GIF在手机上的实现,是在iphone上的gif快手的一个应用,感觉还不错,也想在android上实现,后来去查了一下。原来Android上也有了,也叫GIF快手,下了一个,体验还不错的说。反编译出来(不好意思啦,你应该用混淆编译的嘛)。发现解码是用的java算法,但是编码是调用的jni。好吧,接下来就是Google了。

  关于gif的编解码还是有蛮多的,我找了一个java算法的,然后对应着gif快手的解码算法修改了下,因为java算法里用到了awt,所以在android上要修改。

  最后修改成功,大致的过程是:

  1.初始化GifDecoder。

  2.设置bitmap和每帧delay时间,

  3.开始decode,得到frameCount,

  4.通过handler设置delay,拿到每一帧的buf,然后重绘ondraw就ok了。效果还不错哦

  代码我就不贴了。有需要的点我qq找我要,

  至于gif的编码,蛮纠结的,我照着gif解码的demo来反推,到是能将3张图片加入到一个gif文件里,但是在显示的时候只显示第一张图片,有点郁闷,编码的java算法不能完全改成android的。所以会出这样的问题吧。

  好吧,既然不行,那就换别的办法吧,Google、看到了microsoft的.net类库的支持

  http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.gifbitmapdecoder.aspx

  哎。不适用,看到别人写的c算法,或者是java算法,也不是很适用,纠结啊。求高手,一起研究啊,我找了一些资料,可以一起研究,节约时间。

  如果找到合适的编码方式,我会及时的公布出来,有不对的地方也请大家指正。tks。

source download


更多相关文章

  1. 2016这一年,回顾我们一起走过的"编码美丽"之路!
  2. Android视频开发浅析
  3. Android上的Native以及JNI开发(1)
  4. Android(安卓)视频开发浅析
  5. Android视频开发浅析
  6. Android(安卓)视频开发浅析
  7. [置顶] 2016这一年,回顾我们一起走过的"编码美丽"之路!
  8. Android应用程序apk内xml文件编码解析
  9. android ndk编译x264开源(用于android的ffmpeg中进行软编码)

随机推荐

  1. C语言试题
  2. 华为防火墙与思科路由器IPsec对接参数
  3. laket-admin 是一套使用 thinkphp6 和 la
  4. 插入排序和归并排序
  5. 2021年DevOps的四大趋势
  6. always on 清理日志记录
  7. 聚类的基本介绍
  8. 企业如何建立一体化数据分析平台?还是得说
  9. AWS 大数据实战 Lab2 - 批量数据处理(三)
  10. 深度学习框架浅析