mcpField
I
imagemagick-conversion

imagemagick-conversion

github.com/laurigates创意与媒体59254 次安装1 天前更新
代码仓库

关于 imagemagick-conversion

为需要处理现有图像的用户提供 ImageMagick 命令行操作指南,支持格式转换、尺寸调整、批量处理和基础变换。

主要功能

  1. 01转换常见图像格式
  2. 02按尺寸或比例调整图像
  3. 03批量转换与缩放
  4. 04设置图像质量和压缩
  5. 05生成缩略图及裁剪旋转

适用场景

  1. 01为网页导出压缩后的图像
  2. 02批量生成不同尺寸的图像
  3. 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):创建新文件

    • 始终保留原文件
    • 更适合处理单个文件
性能提示
  1. 使用 -thumbnail 生成缩略图:生成小尺寸预览时比 -resize 更快
  2. 使用 -strip 移除元数据:可显著减小文件大小
  3. 批量操作:在一次 mogrify 命令中处理多个文件
  4. 质量设置: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 命令。

评论

支持 Markdown