图片压缩与优化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a5db3b4e/chris01。
技能介绍
要解决什么问题
站点配图、接口上传和文档附件里,图片往往体积过大:PNG 截图动辄数 MB,批量导出又混着多种格式。手工在 GUI 里一张张调质量、改尺寸,很难复现同一套参数,更做不到「必须压在 500KB 以内」这类硬约束。
技能如何工作
核心脚本是 scripts/compress_image.py,依赖 Pillow。Agent 在用户给出路径后,按需求拼装参数并执行脚本,而不是在对话里「假装」压缩文件。
常见能力包括:
- 质量控制:
-q控制 JPEG/WebP 质量(默认 85);未指定质量或目标体积时,技能说明要求默认-q 85 -v。 - 按目标体积压缩:
-s(KB)会自动试探质量,适合「压到指定大小以下」的场景。 - 格式与尺寸:
-f可在 jpeg、png、webp、gif 间转换;-w/-H等比缩放。 - 批量:
--batch处理整个目录;--no-overwrite可跳过已存在的输出。
支持 JPEG、PNG、WebP、GIF、BMP、TIFF。未指定 -o 时,输出通常落在输入旁的 _compressed 路径。执行时建议带 -v,便于对比前后文件大小与压缩比。
边界与注意点
- PNG 走无损压缩,
-q表示压缩级别,不是「画质滑块」那种语义。 - 带透明通道的图若输出为 JPEG,会自动叠到白色背景上,透明信息会丢失。
- 环境未装 Pillow 时需先
pip install Pillow再跑脚本;这是运行前提,不是本技能的业务逻辑本身。
使用场景
- 技术文档配图是 PNG 截图,提交前需压到指定 KB 以内并保留可读性
- 产品静态资源目录混有 JPEG/PNG,需批量压缩并统一输出为 WebP
- 接口上传限制宽高,需对单张图等比缩放后再按质量或目标体积导出
- 发布前整文件夹图片要一次处理,且跳过已生成过的 `_compressed` 输出
适合人员
- 维护文档站、截图体积常超仓库或 CDN 限额的技术写作者
- 负责落地页静态资源、需批量转 WebP 并控单张大小的前端工程师
- 对接文件上传服务、需按接口规则缩放与压缩图片的后端或全栈开发
- 运营或设计交付大批量原图、需按统一参数出 `_compressed` 目录的协作者