android gif转jpg格式文件,android使用多张图片合成gif文件
之前有遇到过一个要用多张图片合成gif图的场景,当时是搜索了好久,也没有发现有相关的使用记录。后来找到了实现方式,特此记录。
使用了Github上该project:android-gif-encoder,代码链接见页尾。
主要代码如下:
/**
* 生成gif图
*
* @param file_name 保存文件名
* @param delay 帧之间间隔的时间
*/
private void createGif(String file_name, int delay) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
AnimatedGifEncoder localAnimatedGifEncoder = new AnimatedGifEncoder();
localAnimatedGifEncoder.start(baos);//start
localAnimatedGifEncoder.setRepeat(0);//设置生成gif的开始播放时间。0为立即开始播放
localAnimatedGifEncoder.setDelay(delay);
if (pics.isEmpty()) {
localAnimatedGifEncoder.addFrame(BitmapFactory.decodeResource(getResources(), R.drawable.pic_1));
localAnimatedGifEncoder.addFrame(BitmapFactory.decodeResource(getResources(), R.drawable.pic_2));
localAnimatedGifEncoder.addFrame(BitmapFactory.decodeResource(getResources(), R.drawable.pic_3));
} else {
for (int i = 0; i < pics.size(); i++) {
// Bitmap localBitmap = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(pics.get(i)), 512, 512);
localAnimatedGifEncoder.addFrame(BitmapFactory.decodeFile(pics.get(i)));
}
}
localAnimatedGifEncoder.finish();//finish
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/GIFMakerDemo");
if (!file.exists()) file.mkdir();
String path = Environment.getExternalStorageDirectory().getPath() + "/GIFMakerDemo/" + file_name + ".gif";
Log.d(TAG, "createGif: ---->" + path);
try {
FileOutputStream fos = new FileOutputStream(path);
baos.writeTo(fos);
baos.flush();
fos.flush();
baos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
gif_image.setImageURI(Uri.parse(path));
Toast.makeText(MainActivity.this, "Gif已生成。保存路径:\n" + path, Toast.LENGTH_LONG).show();
}
需要源码的同学看这里
android gif转jpg格式文件,android使用多张图片合成gif文件相关推荐
- android能用svg格式,关于Android SVG图形:Android SVG图形 – 将当前PNG文件转换为svg格式的缺点...
我在github上看到了一些工具,现在Lolipop中的矢量drawables允许你使用svg文件. 我发现的一个主要优点是svg文件应该拉伸并保持适当的缩放,因此在拉伸后看起来很清晰. 现在使用sv ...
- android 判断图片的格式的,android判断文件是否是图片文件的方法
判断一个文件是否是图片文件的方法,采用BitmapFactory去decode然后根据返回的Options参数来确定: public static boolean isImageFile(String ...
- android批量转换图片格式,使用Android Studio批量转换图片为Webp格式
简介 Webp是一个现代的图片格式提供优秀的无损和有损压缩.使用Webp我们可以创建更小更丰富的图片. Webp无损图片比PNG图片的size小26%.Webp有损图片在同等SSIM(结构化相似)质量 ...
- android 时间戳 转日期格式,在Android中转换为简单日期格式或Unix时间戳日期?
我收到日期(2015-03-20T06:34:01.831183 + 01:00)从服务器这不是简单的日期格式,我想这种类型的日期转换为简单的日期格式一样(yyyyMMddHHmmssSSSS)在An ...
- android 本地图片uri格式不一致,Android本地相册图片URI转换绝对路径
最近做毕设的时候遇到了这个问题,一直给我报错java.io.notFound啥的啥的,不管怎么修改路径都是报这个错误,今天终于解决了,记录一下解决过程. 首先我们调用系统相册. Intent inte ...
- android pdf转jpg格式,在Android中将图片转换为PDF
我想你正在使用iText Library将文本转换成pdf.使用它将图像转换为pdf. import java.io.*; import com.lowagie.text.*; import com. ...
- AVI音视频封装格式学习(五)——h265与PCM合成AVI文件
不知道是处于版权收费问题还是什么原因,H265现在也并没有非常广泛的被普及.将h265数据合成AVI的资料现在在网上也基本上没有.使用格式化工厂工具将h265数据封装成AVI格式,发现它在封装的时候其 ...
- 利用Python讲多张图片合成PDF文件
前言 一个做美工的朋友需要将多个图片jpg .png 合并起来,PS操作太慢了所以用了python进行完成这个任务 基本环境配置 版本:Python3 系统:Windows 相关模块:PIL pip ...
- android 视频转字节,如何将视频文件(.mp4)格式转换为android中的二进制格式?...
我想在网络服务器上传视频.我得到了我想要以二进制格式传递文件的服务,我该怎么做?如何将视频文件(.mp4)格式转换为android中的二进制格式? 我试图通过base64将视频文件转换为二进制格式.. ...
最新文章
- ARM的突破:超级计算机和Mac
- Flutter 拨打电话和跳转网页
- OpenAI的GPT-3花费了1200万美元,现在放出商用API,人人皆可拿来自动生成文本、编写代码...
- [转]RedHat Enterprise Linux 7关闭防火墙方法
- Flex+ActionScript
- python从数分到数编(part2)--随机数及数组
- 【触觉AI】麻省理工研发带550个传感器的触觉手套,通过触摸识别物体|湾区人工智能...
- oracle 9i故障恢复,Oracle9i rman备份恢复总结
- 安装grid时找不到ASM共享磁盘
- UCOS操作系统——软件定时器(八)
- [Linux 基础] -- Linux 之 fstab 文件详解
- 1055 mysql_MySQL错误1055
- openresty 与 java RSA加解密
- 微积分专项----MIT GS老师
- 不见的何止重城,隐隐的又岂是江树。
- 如何人工给电脑加速?(经典知识)
- matlab if语句应用
- Android Facebook游戏邀请功能
- Java实现自制猜数游戏(附源码)
- [CUDA学习]5. 常量内存与事件
热门文章
- 入职必备两小时入门SVN(二)
- 有赞基于ES的搜索系统架构是如何演进的?
- MySQL InnoDB count()函数
- 阿里云数据中台训练营第一期圆满落幕
- 我的小白同事接触白鹭引擎4天,成功做了一款足球小游戏
- CentOS7.4中搭建lnmp环境
- 史上最贵域名诞生!360斥资1700万美元买360.com
- 微信小程序周报(第十一期)-极乐商店出品
- 从前M个字母中取N个的无重复排列(回溯)
- Dynamic CRM 2013学习笔记(四十二)流程5 - 实时/同步工作流(Workflow)用法图解...