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使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 713-批量以所在文件夹名批量按顺序重命名文件名-与系统排序相同
- 728-搜索指定文件夹下指定文件夹并移动文件夹到指定文件夹内
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 453-批量删除pdf中包含二维码的注释-(只处理注释)
- 批量复制指定文件夹下文件夹结构到目标文件夹内
- 10080-0-监测指定文件夹对所有压缩包创建同名文件夹并解压-不支持子孙文件夹内压缩包-只支持zip-rar-7z压缩包的解压
- 10080-2-监测指定文件夹-对zip-rar-7z所有压缩包创建同名文件夹移入并解压-支持子孙文件夹下压缩包解压-支持多层嵌套压缩包的解压-支持密码库解压
- 【下单入口】300克铜版纸名片印刷【工厂价】
- 10083-批量解压rar分卷文件-txt中一行一个密码-自动匹配-解压完成后可选删除分卷
- 10084-批量解压7z分卷-【支持带密码的分卷-子文件夹穿透】【不支持多层嵌套分卷】




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