Cette page est affichée en anglais. Une traduction française est en cours.
SkillsApr 29, 2026·3 min de lecture

ImageMagick — Command-Line Image Processing for 200+ Formats

ImageMagick is a free, open-source software suite for creating, editing, compositing, and converting images. It supports over 200 image formats including PNG, JPEG, TIFF, WebP, SVG, and PDF.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
ImageMagick
Commande d'installation directe
npx -y tokrepo@latest install 044138c3-43a5-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

ImageMagick is a mature, widely-used image processing toolkit that has been in active development since 1990. It provides command-line tools and programming APIs for batch image manipulation, format conversion, and compositing. It is a standard dependency in many web frameworks and CI pipelines for automated image handling.

What ImageMagick Does

  • Converts between 200+ image formats (PNG, JPEG, WebP, TIFF, SVG, PDF, HEIC, AVIF)
  • Resizes, crops, rotates, and transforms images via command-line or API
  • Composites multiple images with layering, blending, and masking operations
  • Applies filters and effects: blur, sharpen, color adjustment, dithering, morphology
  • Processes images in batch with shell scripting or the Mogrify in-place tool

Architecture Overview

ImageMagick 7 provides the magick unified CLI that replaces the legacy convert, identify, and mogrify commands. Internally, it uses delegate libraries (libjpeg, libpng, librsvg, Ghostscript) for format-specific encoding and decoding. Images are processed in a pipeline where each operation modifies an in-memory image list before final output.

Self-Hosting & Configuration

  • Install via package manager or compile from source for custom delegate support
  • Edit /etc/ImageMagick-7/policy.xml to control resource limits (memory, disk, threads)
  • Set security policies to disable risky delegates like Ghostscript for PDF if not needed
  • Use environment variables MAGICK_MEMORY_LIMIT and MAGICK_THREAD_LIMIT for tuning
  • Integrate via MagickWand (C), Wand (Python), MiniMagick/RMagick (Ruby), or Imagick (PHP)

Key Features

  • Supports 200+ formats including modern codecs like AVIF, HEIC, and JXL
  • Scriptable batch processing with Mogrify and shell pipelines
  • Color management with ICC profile support for print-accurate conversions
  • Distributed pixel cache enables processing images larger than available RAM
  • HDRI (High Dynamic Range Imaging) mode preserves precision for scientific imaging

Comparison with Similar Tools

  • FFmpeg — Focused on video and audio; can handle image sequences but lacks ImageMagick's image manipulation depth
  • GraphicsMagick — Fork of ImageMagick emphasizing stability; fewer features but sometimes faster
  • Sharp (libvips) — Node.js image library; faster for web-scale resizing but fewer format and effect options
  • Pillow (PIL) — Python imaging library; easier API for simple tasks but less capable for complex compositing
  • OpenCV — Computer vision focus; stronger at analysis and detection, weaker at format conversion and effects

FAQ

Q: What is the difference between ImageMagick 6 and 7? A: Version 7 unifies all tools under the magick command, adds HDRI by default, improves color management, and renames CLI flags for consistency.

Q: How do I process images in bulk? A: Use magick mogrify -resize 50% *.jpg to modify files in-place, or write a shell loop with magick convert for more control.

Q: Is ImageMagick safe to use with user-uploaded files? A: Configure policy.xml to restrict delegates, formats, and resource limits. Disable PDF/SVG processing if not required to reduce attack surface.

Q: Can ImageMagick handle animated GIFs and APNGs? A: Yes. It can split, edit individual frames, adjust timing, and reassemble animated images.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires