图片压缩Skill

👤 user_472d0abf 📦 v1.0.7 ⭐ 4.5 ⬇️ 654 下载
🎨 设计多媒体 免费

📖 技能介绍


name: image-compressor description: 图片压缩专用 — 智能自动选择最佳压缩策略、并行处理、支持专业压缩工具。当用户提到压缩图片、优化图片、缩小图片体积、图片太大、节省存储空间、web 上传优化、批量处理图片时使用此 skill。中文触发词:图片压缩、压缩图片、图像优化、图片瘦身、减小图片大小、批量压缩。 version:"1.0.5" author:jm-jsjkxyjs01-ybx-404


Image Compressor

智能图片批量压缩工具 — 自动识别图片类型,选择最佳压缩策略,并行处理,一键搞定。

核心理念

用户只需要告诉我要压缩哪个文件夹,剩下的全部自动完成: - 自动检测可用的专业压缩工具(pngquant、mozjpeg、cwebp、oxipng) - 自动识别图片类型(照片/截图/图标/图形) - 自动为每张图片选择最优压缩方案 - 自动并行处理,榨干 CPU 性能

使用方式

基础用法 — 一句话搞定

python "{skill_dir}/compress.py" /path/to/images -r

就这么简单。脚本会自动: 1. 递归扫描所有图片 2. 检测可用工具,优先使用专业压缩 3. 分析每张图片特征,选择最佳策略 4. 并行压缩,输出清晰的进度和总结

常用选项

# 更高压缩率(质量 65)
python "{skill_dir}/compress.py" /path/to/images -r -q 65

# 输出到单独的文件夹(保留子目录结构)
python "{skill_dir}/compress.py" /path/to/images -r -o /path/to/output

# 预览模式 — 只列出会怎么处理,不实际压缩
python "{skill_dir}/compress.py" /path/to/images -r --dry-run

# 覆盖原文件(谨慎使用!)
python "{skill_dir}/compress.py" /path/to/images -r --overwrite

# PNG 保持无损(不转 JPEG,不做有损量化)
python "{skill_dir}/compress.py" /path/to/images -r --lossless-png

# 压缩后验证质量(需要 numpy)
python "{skill_dir}/compress.py" /path/to/images -r --check-quality

全部参数

参数 默认值 说明
-q, --quality 80 压缩质量 1-100,数值越高质量越好
-s, --suffix _compressed 输出文件名后缀
-r, --recursive 递归处理子文件夹
-f, --formats jpg,jpeg,png,webp,bmp,tiff 要处理的格式
--overwrite 覆盖原文件
--lossless-png PNG 保持无损优化
--dry-run 只预览,不压缩
--check-quality 计算 PSNR 质量指标
-o, --output-dir 同目录 输出到指定目录
--no-parallel 禁用并行处理

压缩策略详解

脚本根据图片特征自动选择策略:

小葱技能站7w4.net,专业的AI技能分享平台。

图片类型 特征 首选策略 效果
照片 大尺寸、颜色丰富 mozjpeg / JPEG Pillow 通常缩小 70-90%
截图 中等尺寸、中等颜色 pngquant → PNG 8位 通常缩小 60-80%
图标 小尺寸、少颜色 PNG 无损优化 通常缩小 20-50%
带透明图 含 Alpha 通道 pngquant / PNG 量化 保留透明,缩小 50-70%

专业工具带来的提升

工具 对比基准 额外压缩收益 安装方式
pngquant Pillow PNG 60-80% 更小 winget install pngquant
mozjpeg Pillow JPEG 10-15% 更小 下载 mozjpeg 二进制
cwebp Pillow WebP 5-10% 更小 brew install webp
oxipng 无后处理 额外 5-15% winget install oxipng

没有这些工具也能正常使用 — 脚本会自动回退到 Pillow 的优化设置。

给模型的使用指引

当用户请求压缩图片时:

  1. 确认文件夹路径 — 如果用户没有明确指定,先确认要压缩哪个文件夹
  2. 选择合适的参数 — 根据用户意图:
  3. "帮我压缩一下" → 默认参数,-r -q 80
  4. "尽量压小一点" → -r -q 60 或更低
  5. "保持画质无损" → -r --lossless-png
  6. "先看看有多少图" → -r --dry-run
  7. 运行脚本 — 始终使用 {skill_dir}/compress.py
  8. 解释结果 — 告诉用户节省了多少空间,用了哪些策略
  9. 如果需要更好的效果 — 建议安装 pngquant 等专业工具

注意事项

  • PNG 转 JPEG 会丢失透明 — 带透明的 PNG 默认用 pngquant 保留透明。如果 pngquant 不可用,透明区域会被填白后转 JPEG
  • 输出文件夹不要在源文件夹内 — 否则可能重复处理已压缩的文件
  • 大文件夹优先用并行 — 默认开启,多核 CPU 可大幅加速
  • 质量低于 40 会明显失真 — 除非用户明确要求极限压缩,否则不建议

🤖 AI 评测

这个图片压缩工具质量不错,智能化程度高,省心省力。优点是自动化做得好——扔个文件夹进去就行,脚本会自动判断用什么方式压缩最合适;批量处理快、界面清晰、报错友好;即使不装额外工具也能正常工作。不足是没有图形界面必须敲命令,透明图片在某些情况下可能出问题,不支持 GIF 动图,而且不装专业工具的话压缩效果会打折扣。适合需要批量压缩图片、不介意用命令行的用户。

📊 多维度评分

适应性4.5
规范性4.4
有效性4.6
可靠性4.7
可信度4.5

📁 包含文件 (2 个)

📄 SKILL.md 4.6 KB
📄 compress.py 26.3 KB