- N +

10089-1-合并指定文件夹下所有图片为gif-存储在图片所在文件夹内-自定义速度-可选自定统一尺寸-单文件夹操作【源代码】

10089-1-合并指定文件夹下所有图片为gif-存储在图片所在文件夹内-自定义速度-可选自定统一尺寸-单文件夹操作【源代码】原标题:10089-1-合并指定文件夹下所有图片为gif-存储在图片所在文件夹内-自定义速度-可选自定统一尺寸-单文件夹操作【源代码】

导读:

代码功能概述这段代码实现了一个将指定文件夹内图片合成为GIF动画的工具。用户可以设置图片在GIF动画中的切换时间间隔,还能选择是否将所有图片统一尺寸后再合成。合成后的GIF文...

代码功能概述

这段代码实现了一个将指定文件夹内图片合成为GIF动画的工具。用户可以设置图片在GIF动画中的切换时间间隔,还能选择是否将所有图片统一尺寸后再合成。合成后的GIF文件会保存在用户指定的文件夹内,命名为merged.gif。代码开头打印作者相关信息,每次执行完毕后会询问用户是否继续运行程序。

用户操作步骤

  1. 运行程序:启动代码,首先看到作者相关信息的打印。
  2. 设置图片变换时间间隔:程序提示“设置每张图片变换的时间间隔(单位秒)如0.5: ”,用户需要输入一个数字,该数字代表每张图片在GIF动画中显示的时间间隔(单位为秒),程序会将其转换为毫秒。若输入的值不是有效的数字,程序会提示错误并退出。
  3. 输入文件夹路径:接着程序提示“请输入存储有需要处理的图片文件所在文件夹路径: ”,用户要输入包含图片文件的文件夹路径。程序会检查该路径是否存在且为有效文件夹,若不符合要求,程序提示错误并退出。
  4. 选择是否统一图片尺寸:程序询问“是否要统一图片尺寸?(Y/N): ”,用户输入Y(不区分大小写)表示要统一图片尺寸,之后需输入统一的宽度和高度(单位为像素);若输入其他字符,则不进行尺寸统一操作。若输入的尺寸值不是有效的整数,程序提示错误并退出。
  5. 等待合成完成:程序在指定文件夹内查找支持的图片文件(能被Image.SAVE识别格式的文件),将这些图片转换为RGB模式,根据用户选择决定是否统一尺寸,然后将这些图片合成为一个GIF动画文件merged.gif,保存到指定文件夹中。若文件夹内没有支持的图片文件,程序提示并退出。合成完成后,控制台显示合成后的GIF保存路径。
  6. 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入y(不区分大小写),可重复上述步骤处理其他文件夹;若输入其他字符,程序终止运行。

对子文件夹及穿透情况

代码使用os.listdir获取指定文件夹内的文件列表,这意味着该程序仅对指定的文件夹本身有效,不会穿透到子文件夹。也就是说,程序只会处理用户指定文件夹内的图片,不会处理该文件夹下子文件夹中的图片。

实例验证

假设存在以下文件夹及文件结构:

主文件夹
│
├── img1.jpg
├── img2.png
├── 文件夹 A
│ ├── img3.jpg
│ └── img4.png
  1. 运行程序后,输入主文件夹路径。
  2. 设置图片变换时间间隔为0.5秒,选择统一图片尺寸并输入宽度和高度为800像素。
  3. 程序将主文件夹内的img1.jpgimg2.png转换为RGB模式,统一尺寸为800x800像素后,合成为merged.gif并保存在主文件夹内,同时在控制台显示保存路径。而文件夹A中的img3.jpgimg4.png不会被处理,因为程序不穿透子文件夹。
  4. 完成合成后,若用户选择继续运行程序,可再次输入不同的文件夹路径进行新一轮的图片合成GIF操作。

python版本:3.86

是否带UI界面:非UI版本

电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)

脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮

重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能


查看源代码

隐藏内容,开通会员可免费查看!
售价:100 
月度会员 免费查看
开通会员
开通月度会员或更高级的会员可免费查看该内容

登录注册购买      开通会员免费查看

  • 随机文章
  • 热门文章

收藏本文章

作者:softbangong
使用批处理解放双手,使用softbangong一直赢。 学无止境,精准有效方为上上策。 softbangong你的贴身助手!
返回列表
上一篇:
下一篇:
您需要 登录账户 后才能发表评论

发表评论取消回复中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共7人参与)参与讨论

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