关于 imagemagick-conversion
为需要处理现有图像的用户提供 ImageMagick 命令行操作指南,支持格式转换、尺寸调整、批量处理和基础变换。
主要功能
- 01转换常见图像格式
- 02按尺寸或比例调整图像
- 03批量转换与缩放
- 04设置图像质量和压缩
- 05生成缩略图及裁剪旋转
适用场景
- 01为网页导出压缩后的图像
- 02批量生成不同尺寸的图像
- 03为内容或文档创建缩略图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill imagemagick-conversion安装后在 Claude Code 中输入/imagemagick-conversion确认已加载。
详细介绍
ImageMagick 图像转换
项目: 与项目无关 Git 忽略: 是
触发条件
当用户请求以下图像处理任务时,使用此技能:
- 在图像格式之间转换(PNG、JPEG、WebP、GIF、TIFF 等)
- 调整图像大小(尺寸、百分比、纵横比)
- 批量处理多张图像
- 调整图像质量和压缩率
- 创建缩略图
- 基本图像变换(旋转、翻转、裁剪)
概述
ImageMagick 是一款功能强大的命令行图像处理工具。此技能介绍如何使用 magick 命令执行常见的图像转换和处理任务。
关键命令模式:
magick input-file [options] output-file
常见用例
格式转换
基本格式转换:
magick image.jpg image.png
magick photo.png photo.webp
将所有 JPEG 批量转换为 PNG:
magick mogrify -format png *.jpg
转换并指定输出目录:
mkdir -p output
magick mogrify -format webp -path output/ *.jpg
调整图像大小
按百分比调整大小:
magick image.jpg -resize 50% output.jpg
调整为指定宽度(保持纵横比):
magick image.jpg -resize 800x output.jpg
调整为指定高度(保持纵横比):
magick image.jpg -resize x600 output.jpg
调整大小以适配指定尺寸(保持纵横比):
magick image.jpg -resize 800x600 output.jpg
调整为精确尺寸(忽略纵横比):
magick image.jpg -resize 800x600! output.jpg
仅缩小较大的图像:
magick image.jpg -resize '800x600>' output.jpg
仅放大较小的图像:
magick image.jpg -resize '800x600<' output.jpg
质量和压缩
设置 JPEG 质量(1-100,默认值为 92):
magick image.jpg -quality 85 output.jpg
优化 PNG 压缩:
magick image.png -quality 95 output.png
创建高质量 WebP:
magick image.jpg -quality 90 output.webp
缩略图
生成缩略图(速度快,质量较低):
magick image.jpg -thumbnail 200x200 thumb.jpg
生成带填充的缩略图:
magick image.jpg -thumbnail 200x200 -background white -gravity center -extent 200x200 thumb.jpg
批量操作
调整目录中所有图像的大小:
magick mogrify -resize 800x600 -path resized/ *.jpg
在一次操作中转换并调整大小:
magick mogrify -resize 1200x -format webp -quality 85 -path output/ *.jpg
处理指定文件类型:
magick mogrify -resize 50% -path smaller/ *.{jpg,png,gif}
图像信息
显示图像信息:
magick identify image.jpg
显示详细图像信息:
magick identify -verbose image.jpg
高级变换
旋转图像:
magick image.jpg -rotate 90 rotated.jpg
水平翻转:
magick image.jpg -flop flipped.jpg
垂直翻转:
magick image.jpg -flip flipped.jpg
裁剪指定区域:
magick image.jpg -crop 800x600+100+100 cropped.jpg
根据 EXIF 自动调整方向:
magick image.jpg -auto-orient output.jpg
移除元数据(减小文件大小):
magick image.jpg -strip output.jpg
重要说明
mogrify 与 convert
-
magick mogrify:原地修改文件,或将文件写入指定路径- 使用
-path选项保留原文件 - 适合批量操作,效率较高
- 使用
-
magick convert(或直接使用magick):创建新文件- 始终保留原文件
- 更适合处理单个文件
性能提示
- 使用
-thumbnail生成缩略图:生成小尺寸预览时比-resize更快 - 使用
-strip移除元数据:可显著减小文件大小 - 批量操作:在一次
mogrify命令中处理多个文件 - 质量设置:JPEG 通常以 85-90 为最佳设置(兼顾文件大小和质量)
格式建议
- JPEG:照片、带渐变的复杂图像(有损)
- PNG:屏幕截图、带透明度的图形(无损)
- WebP:现代格式,压缩效果出色(有损或无损)
- GIF:简单动画,颜色有限
- TIFF:适合归档和高质量存储
安全注意事项
务必先在副本上测试命令:
# Create test directory
mkdir -p test-output
# Test on single file
magick original.jpg -resize 50% test-output/test.jpg
# Verify result before batch processing
将 mogrify 与 -path 配合使用以保留原文件:
# This preserves originals in current directory
magick mogrify -resize 800x -path resized/ *.jpg
在 shell 中为通配符加引号:
# Prevents premature shell expansion
magick mogrify -resize '800x600>' -path output/ '*.jpg'
常见模式
Web 优化工作流
# Create optimized versions for web
mkdir -p web-optimized
# Convert to WebP with quality 85, resize to max 1920px width
magick mogrify -resize 1920x -quality 85 -format webp -path web-optimized/ *.jpg
# Strip metadata to reduce size
magick mogrify -strip web-optimized/*.webp
生成缩略图
# Create thumbnail directory
mkdir -p thumbnails
# Generate 300x300 thumbnails with white padding
for img in *.jpg; do
magick "$img" -thumbnail 300x300 -background white -gravity center -extent 300x300 "thumbnails/${img%.jpg}_thumb.jpg"
done
导出为多种格式
# Export to multiple formats for compatibility
mkdir -p exports/{png,webp,jpg}
for img in source/*.png; do
name=$(basename "$img" .png)
magick "$img" -quality 90 "exports/png/$name.png"
magick "$img" -quality 85 "exports/webp/$name.webp"
magick "$img" -quality 85 "exports/jpg/$name.jpg"
done
故障排除
检查 ImageMagick 版本:
magick -version
确认支持的格式:
magick identify -list format
先在单个文件上测试命令:
# Always test before batch operations
magick test-image.jpg -resize 50% test-output.jpg
适用场景
| 在以下情况下使用此技能…… | 在以下情况下改用其他技能…… |
|---|---|
| 在标准格式(PNG/JPG/WebP/AVIF/GIF/HEIC)之间转换图像 | 根据文本提示词生成全新图像 — 使用 generate-image |
| 调整现有图像的尺寸、压缩图像或调整图像质量 | 生成仓库社交媒体预览图 — 使用 github-actions-plugin:github-social-preview |
| 对多个文件进行批量处理或生成缩略图 | 进行高级照片编辑或应用复杂滤镜(使用 GIMP、Photoshop 或专用工具) |
| 大规模执行基本变换(旋转、裁剪、翻转) | 处理视频(使用 FFmpeg)或矢量图形(使用 Inkscape) |
与工作流集成
此技能可配合其他开发工作流使用:
- Web 开发:优化图像以供部署
- 文档:生成屏幕截图和图表
- CI/CD:在流水线中自动处理图像
- 内容创作:为各种平台准备图像
通常可通过 Homebrew(brew install imagemagick)或系统软件包管理器获取 magick 命令。