imagemagick-conversion について
既存画像を処理するための ImageMagick コマンドラインガイドです。形式変換、サイズ変更、バッチ処理、基本的な加工方法を扱います。
主な機能
- 01一般的な画像形式の変換
- 02寸法や割合を指定したサイズ変更
- 03画像の一括変換と縮小
- 04画質と圧縮の設定
- 05サムネイル作成や切り抜き、回転
活用シーン
- 01Web 用に圧縮画像を出力
- 02複数サイズの画像を一括生成
- 03コンテンツやドキュメント用のサムネイル作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill imagemagick-conversionインストール後、Claude Code で/imagemagick-conversionを入力して読み込まれたか確認します。
詳細
ImageMagick による画像変換
プロジェクト: プロジェクト非依存 Gitignore 対象: はい
使用するタイミング
以下のような画像操作をユーザーから依頼された場合に、このスキルを使用します。
- 画像形式の変換(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を使用してメタデータを削除:ファイルサイズを大幅に縮小します- 一括処理:1 つの
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
シェルではワイルドカードを引用符で囲んでください:
# 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:パイプラインでの画像処理を自動化します
- コンテンツ作成:さまざまなプラットフォーム向けに画像を準備します
magick コマンドは通常、Homebrew(brew install imagemagick)またはシステムのパッケージマネージャーから利用できます。