制作Gif动图表情,我写了一个小软件

此文章是旧内容,最初在知乎上发表,现在移存过来。实际时间:2021-09-26 19:06发表于知乎。
前段时间我想把qq的自带表情变大一点,但自带表情就是那么小,于是我把它放大截图。把截到的每一帧再合并成连续的gif。合并的功能在网上找啊找,找到一个gif网,还不错,但试了两次就要开会员?太蠢了。于是打算动手自己直接写一个。总共用了不到三天,把基本的gui和核心代码搞完了,一个小项目而已,在gitee开源了。(用gitee了,网速真快)。连续的素材图片合成一张动态gif动图,一开始就想用golang写,go的image包,编解码挺方便。总得来说这个程序的功能实现方式是:终端输入要生成的动图尺寸、每张图片的停留时间、是否倒序逆放、存放每张素材图片的目录(后文直接指素材文件夹了)。动图输出位置,我默认在桌面了(桌面一目了然,linux就是在/home了)。一些排序操作,因为可以倒序生成。然后在素材文件夹生成个临时目录。按顺序编解码转换素材图片格式,复制到临时目录,统一为gif格式,源图片位置不变。一些判断。素材图片是否尺寸超出输入的尺寸大小。(后续可以加功能,尺寸超出可以缩放图片,但我感觉没必要)最为关键一步,把素材图片都解码,设置输入的尺寸,设置停留时间,是否循环播放。然后编码输出到桌面。。。。。。最后清理一下。也没啥必要。因为是控制台,但我想着别人也能用。于是又弄了个gui入口界面。想着还是用go写个gui,但又算了,直接用c#写。所以1这里的参数可以由gui传入给go。所以有两套:gui启动、控制台启动。最后我打包成安装项目,这样一个msi安装包别人就能安装到电脑上了。不安装直接用go的执行文件也行。大概如此。

来自:计算机系统与软件工具
更新于2022-02-22 18:37:16 发表于2022-02-22 18:35:35


此内容暂不允许评论



公元2024年甲辰龍年,平安健康、龍行天下!