做了一个图片批量压缩小工具: tiny_gradio
内容提要
这篇文章介绍了作者开发的一个图片压缩工具,使用了tinyjpg的API进行压缩。作者选择了Python作为开发语言,并使用了Gradio作为GUI库。文章还提到了项目开发中的一些难点和注意事项。
延伸解读
工具定位与适用场景
该工具主要面向需要批量压缩图片的博客作者或内容创作者。作者因手动上传图片到 tinyjpg 效率低,开发了此工具。它适合每月压缩需求在 500 次以内的个人用户,因为 tinyjpg 免费 API 每月提供 500 次调用。工具支持批量上传和 webp 转换,能提升处理效率。
技术选型与依赖管理
作者选择 Python 作为开发语言,因其熟悉且 tinyjpg 提供 Python 库。GUI 采用 Gradio,因其相对美观。但需注意,tinify 依赖 requests 和 urllib3,在 Mac 上若 urllib3 为 v2 版本可能出错,需使用 requirements_mac.txt 安装依赖。不同系统需选择对应的依赖文件。
使用限制与操作要点
Gradio 的文件多选不支持跨目录选择,因此批量上传时需将所有图片放在同一文件夹下,并点击 Upload Multi Image 按钮。此外,第一版界面未展示压缩结果,第二版增加了输出框。使用时需注意 inputs 组件数量与函数参数数量一致。
Q&A
tiny_gradio工具的主要功能是什么?
tiny_gradio工具主要用于批量压缩图片,使用了tinyjpg的API进行压缩。
为什么选择Python和Gradio作为开发语言和库?
作者选择Python是因为熟悉该语言,而Gradio则提供了美观的用户界面,便于操作。
在开发过程中遇到了哪些难点?
开发中的难点包括Gradio的使用和界面设计,尤其是如何展示压缩结果。
如何获取tiny_gradio的源代码?
可以通过在AI技能巫公众号回复“图片紧缩”来获取源代码。
使用tiny_gradio时需要注意哪些事项?
需要注意不同系统选择不同的requirements.txt,以及批量上传图片必须放在同一文件夹下。
tinyjpg的API有什么限制?
tinyjpg的API每个月提供500次免费使用次数。