代码功能概述
这段代码实现了一个将指定文件夹内图片合成为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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1713-批量以所在文件夹名批量按顺序重命名文件名-与系统排序相同
- 2719-批量将文件名重命名为所在文件夹的名字
- 3722-批量获取指定文件夹下所有文件名或文件夹名或完整路径并写入txt
- 4733-批量删除指定A文件夹下包含指定关键词的文件
- 5767-读取txt中名称创建文件夹并移动包含该关键词的文件到创建的文件夹内
- 6777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 7786-批量移动指定文件夹下文件到目标文件夹下同名文件夹内
- 820250108-批量将指定文件夹A下每个文件夹下文件平均随机分配到目标文件夹下各一级文件夹内
- 910082-2-批量解压压缩包-【支持子文件夹穿透-带密码的压缩包】【不支持多层嵌套压缩包】
- 10103-m3u8文件链接解析下载-合并ts及视频流片段视频及视频流音频流相同的视频





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