10089-2-指定目录下所有图片-包含子孙文件夹下-每个图片分别转换为gif图片-自定义图片变换时间-第一帧为黑屏-已经存在的gif不处理
代码功能概述
该代码实现了一个将指定目录及其子目录中的图片(除已有的GIF图片外)转换为GIF动画的工具。每个转换后的GIF动画由一帧黑色(或可切换为透明)背景帧和原始图片帧组成,并且可以设置图片变换的时间间隔。转换完成后,原图片会被删除。
用户操作步骤
- 运行程序:启动代码后,首先看到作者相关信息。
- 设置图片变换时间间隔:程序提示“设置每张图片变换的时间间隔(单位秒)如0.5: ”,用户需输入一个数字作为每张图片在生成的GIF动画中显示的时间间隔(单位为秒),程序会将其转换为毫秒。若输入值不是有效数字,程序提示重新输入并继续等待输入。
- 输入目录路径:接着程序提示“请输入包含图片的目录路径: ”,用户要输入包含图片的目录路径。程序会检查该路径是否存在且为有效目录,若不符合要求,提示重新输入并继续等待输入。
- 等待转换完成:程序遍历指定目录及其所有子目录,找到非GIF格式的图片文件,将其转换为RGB模式。为每张图片创建一个GIF动画,该动画第一帧为黑色(或透明,可在代码中切换)背景,第二帧为原始图片。转换后的GIF动画保存在原图片所在的文件夹,文件名与原图片文件名相同,只是扩展名变为
.gif。转换完成后,原图片会被删除。处理过程中,控制台会显示正在处理的图片文件名、处理完成信息及保存路径,处理完所有图片后,显示“所有图片处理完成。”。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y(不区分大小写),可重复上述步骤处理其他目录;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.walk函数遍历abs_input_directory,这表明它不仅对主文件夹有效,还能穿透主文件夹下的所有子文件夹,对其中非GIF格式的图片进行转换操作。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── 文件夹 A
│ ├── img1.jpg
│ ├── img2.png
│ └── existing_gif.gif
├── 文件夹 B
│ ├── img3.bmp
│ └── img4.jpeg
- 运行程序后,输入主文件夹路径。
- 设置图片变换时间间隔为
0.5秒。 - 程序会遍历主文件夹及其子文件夹,将
img1.jpg、img2.png、img3.bmp、img4.jpeg转换为GIF动画,每个GIF动画由一帧黑色背景和对应的图片帧组成,分别保存为img1.gif、img2.gif、img3.gif、img4.gif,并删除原图片。existing_gif.gif不会被处理。处理过程中,控制台会显示相应的处理信息。 - 处理完成后,若用户选择继续运行程序,可再次输入不同的目录路径进行新一轮的图片转换操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 热评文章
- 1724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 2753-批量从各文件夹内随机挑选指定数量文件移动到指定文件夹
- 3790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 4win系统可以安全删除的文件夹-以清理释放系统空间
- 5搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 610082-1-批量解压压缩包-【支持子文件夹穿透】【不支持密码解压-多层嵌套压缩包解压】
- 7修复“你当前无权访问该文件夹”问题
- 810084-批量解压7z分卷-【支持带密码的分卷-子文件夹穿透】【不支持多层嵌套分卷】
- 910046-2-批量为视频左上角添加图片水印可设置水印透明度
- 10100101-批量将指定文件夹下视频时长快进或慢放到指定时长




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