网页图片智能压缩
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-cn-web-image-optimizer。
技能介绍
要解决什么问题
网页配图经常在「清晰度」和「体积」之间拉扯:原图几 MB,直接上线会拖慢首屏;手工在 PS 或在线工具里反复试质量,又很难稳定压到同一上限。团队里若还要统一输出格式(例如优先 WebP)、批量处理某个目录下的素材,重复劳动更明显。
这个技能面向本地、可脚本化的压图流程:在尽量保留观感的前提下,把单张或整目录图片压到可配置的上限(默认 500KB),并优先走适合 Web 的编码方式。
工作方式与核心能力
压缩策略是分步执行的,而不是一次性把质量拉到底:
- 格式转换:例如 PNG 会先转为 WebP,体积往往可明显下降。
- 渐进降质:从较高起始质量(默认 85)按阶梯下调(85 → 75 → 65 …),直到满足
max-kb。 - 等比缩放:若仅靠降质仍达不到目标,会按比例缩小尺寸。
- 兜底:若仍无法达标,会在最低可接受质量下保存(文档中说明可能无法完全满足目标)。
能力与输入输出要点:
- 多格式输入:JPEG、PNG、WebP、BMP、TIFF、GIF。
- 输出格式:默认倾向 WebP(压缩率与观感较均衡);可选 JPEG 以兼顾老环境兼容;需要透明通道时再考虑 PNG。
- 批量与递归:可对目录内全部图片处理,
-r可递归子目录。 - 可配置项:
--max-kb、--format(auto/webp/jpeg/png)、--quality、--output等。
依赖为 Python 3.6+ 与 Pillow,处理在本地完成。
适用边界与注意点
- 纯本地:无网络请求,图像数据不会离开本机;不会删除原文件,输出路径需自行用
-o或默认规则管理。 - 元数据:为减小体积,不保留 EXIF 等元数据;若合规或版权信息依赖 EXIF,需另做备份或流程。
- 透明与格式:需要无损或透明时,PNG 更合适,但体积上限更难满足;WebP/JPEG 更适合照片类网页资源。
- 退出码:成功为
0,文件不存在、格式不支持等错误为1。
使用场景
- 博客或静态站发布前,对 `assets` 目录递归扫描,把 PNG/JPEG 截图压到默认 500KB 内并优先输出 WebP。
- 内网或合规环境不能走在线压图,需在本机对一整批活动页配图做目录级压缩且保留原始文件。
- 兼容老浏览器的页面要求统一 JPEG,对混合格式素材目录批处理并指定 `--format jpeg` 与 `--max-kb`。
- 单张头图或封面在降质后仍超体积上限时,依赖渐进降质与等比缩放策略自动逼近目标大小。
适合人员
- 维护落地页与文档站、需在上线前把截图目录稳定压到体积上限的前端工程师
- 经常插入高分辨率截图、发布前要在本机批量处理整目录素材的技术博客作者
- 内网协作、不能用第三方上传压图、要把营销配图统一转 WebP 的运营或设计支持
- 负责站点资源迁移、要对整站 `images` 树做递归压缩并试不同 `--format` 的站点维护者