python实现GIF生成工具
今天在写文章的时候,需要合成一张Gif动图,结果之前一直使用的在线Gif工具居然要收费了,否则就得加水印,而且水印巨大无比,挡住主要内容了。于是就去github上找了一圈,结果没有找到理想的工具,基本上是使用文档不清晰,或者不支持自定义输入参数。不过也没白逛,扫了一眼代码,发现生成Gif的方法非常简单,所有就决定自己写了一个。
代码已上传到github: https://github.com/youlanhai/makegif
用法
python makegif.py 后面输入图片文件路径或文件夹,即可合成gif图片。本脚本支持python2和python3,需要先安装Pillow插件: pip install Pillow
。Windows用户还可以直接把图片路径或文件夹,拖拽到makegif.bat上面即可。
用法1:输入多个图片,自动在图片父目录下生成一张input.gif
python makegif.py input/1.png input/2.png input/3.png
用法2: 输入图片文件夹,工具会收集input文件夹下的所有图片,然后合成gif,输出为input.gif
python makegif.py input
完整参数:
usage: makegif.py [-h] [-d DURATION] [-o OUTPUT] [-f FILTERS] [-s SIZE][-l LOOP]inputs [inputs ...]创建gif图片positional arguments:inputs 输入文件路径,或文件夹。支持混合输入optional arguments:-h, --help show this help message and exit-d DURATION, --duration DURATION时间间隔。默认200ms-o OUTPUT, --output OUTPUT输出路径。如果未指定,则使用第一个图片所在的文件夹作为名称。如果文件夹为当前路径,则输出名称为out.git-f FILTERS, --filters FILTERS用于在文件夹中搜索指定的后缀文件。默认: png,jpg,bmp-s SIZE, --size SIZE 输出图片大小。格式: 640x480; 或者640x,仅限定宽度为640,高度等比缩放;或者x480,仅限定高度为480,宽度等比缩放-l LOOP, --loop LOOP 循环次数。默认0,表示无限循环
实现说明
核心点就一个函数,调用PIL.Image的save方法,传入gif需要的参数即可:
images = [PIL.Image.open(path) for path in inputs]
images[0].save(output_path, save_all = True, duration = 200, loop = 0, append_images = images[1:])
参数 | 说明 |
---|---|
output_path | 输出路径,必须是.gif后缀 |
save_all | 保存所有后续的序列帧。必须为True |
duration | gif播放间隔,单位为毫秒 |
loop | 播放的循环次数。0表示无限循环;不传表示不循环 |
append_images | 后续的序列帧 |
脚本剩余功能主要是参数处理,和路径处理。
参考
pillow文档-PIL.Image.save
python实现GIF生成工具相关推荐
- python pydoc-文档生成工具(汇总tcy)
pydoc-文档生成工具 2018/9/8 ---------------------------------------------------------------------------- ...
- python文档生成工具 sphinx 简介
目录 简介 sphinx-build用法 Makefile选项 调用sphinx-apidoc 原文出处 简介 Sphinx是一个工具,她能够轻易地创建智慧和优雅的文档,她是出自Georg Brand ...
- python制作网页系统_使用python静态网页生成工具pelican快速在github上部署网站博客...
简介 Pelican用Python编写的静态站点生成器.亮点: 使用reStructuredText或Markdown格式直接用编辑器编写内容 简单的CLI工具来(重新)生成站点 易于与分布式版本控制 ...
- python自带的文档生成工具,Python文档生成工具pydoc
在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介 ...
- python文档生成工具_pydoc --- 文档生成器和在线帮助系统 — Python 3.9.1rc1 文档
pydoc --- 文档生成器和在线帮助系统¶ The pydoc module automatically generates documentation from Python modules. ...
- python文档生成工具pydoc
为了找到对象及其文档内容,pydoc 会导入文档所在的模块. 因此,任何模块层级的代码都将被执行. 请使用 if name == 'main': 语句来确保一个文件的特定代码仅在作为脚本被发起调用时执 ...
- python的字典生成工具
前言:命运,依旧在自己手中! 安装pydictor git clone https://github.com/LandGrey/pydictor 常用使用命令,社工学 --sedb 其中option的 ...
- python 代码生成器 oc_iOS 移动端生成工具开发
原标题:iOS 移动端生成工具开发 之前有写过一个python脚本的生成工具, 通过读取json文件进行代码的生成, 实际操作中部分使用者反映, json文件的可读性不是很好(明显是不熟悉json语法 ...
- python doc_Python文档生成工具pydoc使用介绍
在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介 ...
最新文章
- BigMemory系列文章--2.Ehcache快速接入
- [转载]细说ASP.NET Windows身份认证
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
- C语言函数题-P字符串的比较
- 数据标记系列——图像分割 Curve-GCN
- 郎永淳妻子抗癌4年路:儿子弃读名校陪治病(转)
- js对象与this指向
- 17.3.13--pycharm2和3的常识问题
- perl语言入门:子程序
- 软件定义无线电的实时频谱分析仪相关原理介绍(二)——射频,中频和基带信号
- 硬件设计18之什么是VGA?
- Scala关键字lazy的理解和使用
- scratch2.0 求救电话问答
- 为什么电脑计算机里没有桌面,为什么电脑开机后桌面上什么都没有?
- 今年最受欢迎的14款黑客工具
- 机器学习/深度学习/自然语言处理学习路线
- HD Tune结合硬盘再生器HDDREG快速修复硬盘错误
- DA1458x使用之第一篇——GPIO
- 做人不能太腾讯(转帖)
- 使用 NGINX 作为 HTTPS 正向代理服务器
热门文章
- 2022年危险化学品经营单位安全管理人员考试模拟100题模拟考试平台操作
- c语言俄罗斯方块代码及实验报告,c语言俄罗斯方块实验报告.doc
- hashcat 破解RAR密码操作使用记录
- 笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)
- 游戏夜读 | 关于构图的困难
- 中值滤波器(Median filter)特性及其实现
- LTE学习理解系列——TDD-LTE的TA、GP、TDD开关、覆盖范围、拉远距离的更深入理解
- calibre版图验证及寄生参数的提取后仿真
- 在VS.NET2008中使用并发布Crystal Reports ActiveX组件
- LinkError: post-link script failed for package defaults::qt-5.9.7-vc14h73c81de_0 问题解决