pycharm 生成requirementa_简单代码一学就会,Python生成GIF动图

本文介绍了如何使用Python将技术文档中的截图序列转化为动态GIF,提高文档专业度,通过实例演示了在PyCharm中安装Python包的步骤,并分享了关键代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文/IT可达鸭

图/IT可达鸭、网络

前言

最近在写技术文档的时候,发现一个问题。对于每个技术步骤,都需要一个截图,这样下来整篇文档都是截图,显得不是特别的专业。

为了解决这个问题,我想到一个方法,就是把技术文档中,每个模块系列截图生成一个动态GIF,这样就可以节省大量的篇幅,而且显得有技术水平一些。

72ffb8515274c2ceefb7f1493aaa90e7.png

举个例子:我们要在pycharm中安装一个python包,就可以按照以下的步骤去做。

9c6d6234448a6bca07009500fba2c806.gif

是不是非常方便?这里我把源码分享给大家,来,上代码。

  • 环境配置

python版本: 3.6.0

编辑器: pycharm

项目所需要的环境安装包

pip install imageio

第一步:导包

95fdd78953c350547f321362090bbf93.png

imageio:这个第三方库可以导入很多格式类型的照片,然后又可以将其导出成各种格式的照片,非常好用。

os:目录操作、路径操作、文件操作的包。

# encoding:utf-8import imageioimport os

第二步:生成GIF的函数

3c2d59bd61d8e4ed3ce93d3e743dbb0d.png

create_gif 函数,根据输入的图片文件路径,按顺序生成GIF。其中duration接收的参数单位是秒,也就是动图中每一帧的显示时间。

def create_gif(image_list, gif_name, duration = 1.0):    '''    生成GIF    :param image_list:     :param gif_name:     :param duration:     :return:     '''    frames = []    for image_name in image_list:        frames.append(imageio.imread(image_name))    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)    return

第三步:获取所有的图片

a460b9a30c604bfa9f98f695dca4726c.png

get_all_all_file: 获取指定文件夹下的所有图片文件,这里只获取目录的第一层文件,并且按文件名进行排序。如果想递归获取可以参考之前的文章《用python给女朋友画张素描,网友:程序员有女朋友?》里面有介绍如何递归获取文件。

def get_all_file(file_dir, tail_list=('.jpg', '.png', '.jpeg')):    """    获取所有的文件名    :param file_dir:    指定目录    :param tail_list:   指定文件类型(后缀名)    :return:     """    file_list = []    for root, dirs, files in os.walk(file_dir):        for file in files:            for tail in tail_list:                if file.endswith(tail):                    file_list.append(os.path.join(root, file))                    break    file_list.sort() # 排序    return file_list

第四步:主函数

73a1e7b9cb385f02490538145f72808e.png

确定好原始图片存放的目录,以及生成的gif存放的目录位置,设置每张图片展示的时间。

if __name__ == '__main__':    # 指定输入目录, 与输出目录    input_dir, output_dir = 'data', 'output'    # 每张图片停留的时间(秒)    duration = 1.5    file_list = get_all_file(input_dir)    create_gif(file_list, os.path.join(output_dir, 'result.gif'), duration

结语

代码量不多,这就是python,有人喜欢它的简洁,有人喜欢它便捷。不可否认的是,现在连小学都开设python课程了。当然,python 也有它的弊端,它做不了大型高并发的后端,但是,对于人工智能的开发,python有它独特的优势。


如果有疑问想获取源码,可以关注后,在后台私信我,回复:python动图。 我把源码发你。持续关注"IT可达鸭"每天除了分享有趣Python源码,还会介绍NLP算法。最后,感谢大家的阅读,祝大家工作生活愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值