在Android平台下合成Gif
2016-03-09 23:32
405 查看
在Android平台下合成Gif
1.最近在做合成gif的工作,在网上搜到了很多资料,总结一下,总共找到了两种方法,分别是使用jni和java算法实现,测试表明java算法比so文件更快,大约快两倍,不知道为啥。
2.java算法合成
Java算法源代码 https://github.com/chendongMarch/cdlibs/tree/master/src/main/java/com/march/libs/gif
[code]//网上流传很广的就是下面在java中的算法,修改了一些bug AnimatedGifEncoder.java LZWEncoder.java NeuQuant.java3.C算法
C的源代码 http://download.csdn.net/detail/chendong_/9457106
//网上有很多关于gifflen合成gif的文章,可以很轻松的get到C源代码,链接(),但是需要ndk进行编译,当然也可以用现成的so文件,但是需要将utils类建立在指定包下
4.提供一份合成好的so文件
libgifflen.so http://download.csdn.net/detail/chendong_/9457110
[code]// 加载so文件时需要将jni接口写在指定的包下,目前是com.xingye.gif,使用system.load("")加载jni库,但是因为包名已经编译好在so文件里了,只能使用com.xingye.gif 下的GifUtil作为操作对象5.合成好的jar文件,结合so文件可以直接使用,不需要自己建包
jar文件下载 http://download.csdn.net/detail/chendong_/9457110
github中有详细代码实例
href="https://github.com/chendongMarch/cdlibs/blob/master/src/main/java/com/march/libs/utils/GifUtils.java" target=_blank>详见该类 https://github.com/chendongMarch/cdlibs/blob/master/src/main/java/com/march/libs/utils/GifUtils.java
总结一下,java的库很简单,有那几个合成的类,定制一个工具类就好了,C的库比较繁琐,虽然效率还没有java快,总结一下就是1.自己用C代码合成so 2.用我合成的so,但是你需要按照编译好的con.xingye.gif包下的GifUtil 来执行代码 3.更简单,jar文件已经打包好,集成so文件和jar文件,编译可以使用
相关文章推荐
- android的选项菜单
- Android Material Design学习之五CollapsingToolbarLayout
- android学习之20160309图片的三级缓存
- android布局的优化方案merge、ViewStub的用法
- 在Android Studio中显示函数介绍
- Android Activity与Service通信
- Android程序的签名保护及绕过方法
- Adapter模式实战-重构鸿洋的Android建行圆形菜单
- Android签名验证简介
- Android Transition框架(2)-Scene
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- Android控件第3类——AdapterView
- Android学习碎片(三)——Handler、Message、Runnable之间的联系①
- Android调用系统通讯录,并返回联系人号码和称呼
- Android一步一步带你实现RecyclerView的拖拽和侧滑删除功能
- Android异步消息处理机制(一):简单使用
- Android Transition框架介绍(1)
- android studio 电脑重启后不识别安卓项目 所有设置被还原
- Android-自定义View组件切换Activity界面
- ConditionVariable在Android应用开发中的用法