原标题:10089-5-1-20231103批量将图片分别转换为webpg动态图片-第一帧为原来图片保持显示24小时-第二桢为黑色【源代码】
导读:
代码功能概述该代码实现了一个将指定目录及其子目录中的图片(非WebP格式且非特别长的图)转换为WebP格式动图的工具。对于每张符合条件的图片,生成的WebP动图包含三帧:第一...
代码功能概述
该代码实现了一个将指定目录及其子目录中的图片(非WebP格式且非特别长的图)转换为WebP格式动图的工具。对于每张符合条件的图片,生成的WebP动图包含三帧:第一帧为原始图片,第二帧为黑色背景图片,第三帧又是原始图片的复制。每帧设置了不同的显示持续时间,第一二帧各停留200毫秒,第三帧停留24小时。转换完成后,原图片会被删除。代码还配置了日志记录转换过程中的错误信息,并屏蔽了一些警告信息。代码开头打印作者相关信息,每次处理完指定目录的图片后,会询问用户是否继续运行程序以处理其他目录。
用户操作步骤
- 运行程序:启动代码后,首先看到作者相关信息。
- 输入目录路径:程序提示“请输入包含图片的目录路径: ”,用户需要输入包含图片的目录路径。程序会检查该路径是否存在且为有效目录,如果不符合要求,会提示重新输入并继续等待输入。
- 等待转换完成:程序遍历指定目录及其所有子目录,跳过已有的WebP格式文件和非图片文件,以及特别长的图片(高度大于宽度三倍的图片)。对于符合条件的图片,先将其转换为RGB模式,然后缩放至最大尺寸为1200像素。接着创建包含三帧的WebP动图,按照设定的持续时间保存。转换后的WebP动图保存在原图片所在的文件夹,文件名与原图片文件名相同,只是扩展名变为
.webp
。转换完成后删除原图片。处理过程中,控制台会显示正在处理的图片文件名、处理完成信息及保存路径。如果处理过程中发生错误,会在控制台提示已跳过,并将错误信息记录到webp_conversion_log.txt
日志文件中。所有图片处理完成后,显示“所有图片处理完成.”。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y
(不区分大小写),可重复上述步骤处理其他目录;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.walk
函数遍历abs_input_directory
,这表明它不仅对主文件夹有效,还能穿透主文件夹下的所有子文件夹,对其中符合条件的图片进行转换操作。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── 文件夹 A
│ ├── img1.jpg
│ ├── img2.png
│ └── img3.webp
├── 文件夹 B
│ ├── img4.bmp
│ └── long_img.jpg (高度大于宽度三倍)
- 运行程序后,输入主文件夹路径。
- 程序会遍历主文件夹及其子文件夹,跳过
img3.webp
和long_img.jpg
。将img1.jpg
和img2.png
转换为WebP动图,分别保存为img1.webp
和img2.webp
,并删除原图片。处理过程中,控制台会显示相应的处理信息。如果处理img1.jpg
或img2.png
时发生错误,会在控制台提示并记录到日志文件中。 - 处理完成后,若用户选择继续运行程序,可再次输入不同的目录路径进行新一轮的图片转换操作。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 715-批量对指定文件夹下各子文件夹下所有子孙文件夹内文件提取-提取到各一级子文件夹根目录-并删除空文件夹
- 724-【只对目录下一级文件夹有效】对指定目录下各文件夹下文件以文件夹名命名-遇到多个同格式的文件只命名其中一个
- 726-批量删除指定文件夹下及子孙文件夹下所有文件-不删除文件夹及空文件夹
- 731-批量以文件夹名命名文件名-以各文件所在文件夹名命名-自动在同名文件名后添加序列_1这样的序列名
- 755-批量根据excelA-B列内容移动文件夹到目标文件夹
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
- 782-批量移动指定文件夹A下所有文件到A文件夹根目录下
- 787-批量判断指定文件夹下文件的真实文件类型并修改
- 使用docsify配合github搭建个人知识库
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...