代码功能概述
这段代码实现了一个将指定文件夹内图片合成为GIF动画的工具。用户可以设置图片在GIF动画中的切换时间间隔,还能选择是否将所有图片统一尺寸后再合成。合成后的GIF文件会保存在用户指定的文件夹内,命名为merged.gif。代码开头打印作者相关信息,每次执行完毕后会询问用户是否继续运行程序。
用户操作步骤
- 运行程序:启动代码,首先看到作者相关信息的打印。
- 设置图片变换时间间隔:程序提示“设置每张图片变换的时间间隔(单位秒)如0.5: ”,用户需要输入一个数字,该数字代表每张图片在GIF动画中显示的时间间隔(单位为秒),程序会将其转换为毫秒。若输入的值不是有效的数字,程序会提示错误并退出。
- 输入文件夹路径:接着程序提示“请输入存储有需要处理的图片文件所在文件夹路径: ”,用户要输入包含图片文件的文件夹路径。程序会检查该路径是否存在且为有效文件夹,若不符合要求,程序提示错误并退出。
- 选择是否统一图片尺寸:程序询问“是否要统一图片尺寸?(Y/N): ”,用户输入
Y(不区分大小写)表示要统一图片尺寸,之后需输入统一的宽度和高度(单位为像素);若输入其他字符,则不进行尺寸统一操作。若输入的尺寸值不是有效的整数,程序提示错误并退出。 - 等待合成完成:程序在指定文件夹内查找支持的图片文件(能被
Image.SAVE识别格式的文件),将这些图片转换为RGB模式,根据用户选择决定是否统一尺寸,然后将这些图片合成为一个GIF动画文件merged.gif,保存到指定文件夹中。若文件夹内没有支持的图片文件,程序提示并退出。合成完成后,控制台显示合成后的GIF保存路径。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y(不区分大小写),可重复上述步骤处理其他文件夹;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.listdir获取指定文件夹内的文件列表,这意味着该程序仅对指定的文件夹本身有效,不会穿透到子文件夹。也就是说,程序只会处理用户指定文件夹内的图片,不会处理该文件夹下子文件夹中的图片。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── img1.jpg
├── img2.png
├── 文件夹 A
│ ├── img3.jpg
│ └── img4.png
- 运行程序后,输入主文件夹路径。
- 设置图片变换时间间隔为
0.5秒,选择统一图片尺寸并输入宽度和高度为800像素。 - 程序将主文件夹内的
img1.jpg和img2.png转换为RGB模式,统一尺寸为800x800像素后,合成为merged.gif并保存在主文件夹内,同时在控制台显示保存路径。而文件夹A中的img3.jpg和img4.png不会被处理,因为程序不穿透子文件夹。 - 完成合成后,若用户选择继续运行程序,可再次输入不同的文件夹路径进行新一轮的图片合成GIF操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 727-根据txt内文件夹名搜索指定文件夹并移动文件夹到以txt文件名创建的文件夹内
- 764-删除空文件夹-多层文件夹精简夹
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 100133-批量将视频转换为gif
- 10042-从众多图片中找到包含人像的图片移动到指定文件夹
- 100137-根据图片长度阈值找到长图并删除
- 501-批量将srt文件转为lrc文件并整理为lrc标准格式
- 502-对比txt文档,参照A文档分割处理B文档
- RJ0007-根据t输入的关键词-支持多个关键词-移动指定文件夹中的文件到指定文件夹去




还没有评论,来说两句吧...