Color Modes

Develop

The functionality of ImageMagick is typically utilized from the command-line or you can use the features from programs written in your favorite language. Choose from these interfaces: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), WASM-ImageMagick (Javascript/Typescript), JuliaIO (Julia), KMagick (Kotlin), L-Magick (Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), Node-magickwand (Node.js), PascalMagick (Pascal), PerlMagick (Perl), IMagick (PHP), PythonMagick (Python), magick (R), RMagick (Ruby), TclMagick (Tcl/TK), or WASM. With a language interface, use ImageMagick to modify or create images dynamically and automagically.

Choose from these language interfaces:

C
Use the thread-safe MagickWand library to convert, compose, and edit images from the C language. There is also the low-level thread-safe MagickCore library for wizard-level developers. The MagickCache API is a development library to utilize an efficient image cache.
Ch
ChMagick is a Ch binding to the MagickCore and MagickWand API. Ch is an embeddable C/C++ interpreter for cross-platform scripting.
C++
Magick++ provides a thread-safe object-oriented C++ interface to ImageMagick. See A Gentle Introduction to Magick++ for an introductory tutorial to Magick++. We include the source if you want to correct, enhance, or expand the tutorial.
GO
GoImagick is a set of Go bindings to ImageMagick's MagickWand and MagickCore C APIs.
Java
JMagick provides an object-oriented Java interface to ImageMagick. Im4java is a pure-java interface to the ImageMagick command-line.
Javascript/TypeScript
WASM-ImageMagick Webassembly compilation of ImageMagick that allows serverless clientside bindings for Typescript and Javascript. Works in Progressive Web Apps.
Julia
JuliaIO provides an object-oriented Julia interface to ImageMagick.
KMagick
KMagick provides Kotlin bindings to ImageMagick.
LabVIEW
LVOOP ImageMagick is an object-oriented LabVIEW interface to ImageMagick.
Lisp
CL-Magick provides a Common Lisp interface to the ImageMagick library.
Lua
Lua bindings to ImageMagick for LuaJIT using FFI.
 
Lua bindings to ImageMagick for Lua using pure-C.
Neko
NMagick is a port of the ImageMagick library to the haXe and Neko platforms. It provides image manipulation capabilities to both web and desktop applications using Neko.
.NET
Use Magick.NET to convert, compose, and edit images from Windows .NET.
 
ImageMagickApp is a .NET application written in C# that utilizes the ImageMagick command line to allow conversion of multiple image formats to different formats.
Node.js
Node-magickwand is a full native port of the ImageMagick-7 C++ library to Node.js using SWIG Node-API. Unlike all other ImageMagick npm packages, it does not use the CLI to interact with the utilities, but offers direct access to the full C++ API. It supports both synchronous and multithreaded asynchronous operations, it is fully integrated with TypedArrays and it has full TypeScript support.
Pascal
PascalMagick a Pascal binding for the MagickWand API and also the low-level MagickCore library. It works with Free Pascal / Lazarus and Delphi.
Perl
Use PerlMagick to convert, compose, and edit images from the Perl language.
PHP
IMagick is a native PHP extension to create and modify images using the ImageMagick API. Documentation for the extension is available here, and a site showing examples is available at PHPImagick.com.
 
phMagick is a wrapper class for ImageMagick, wrapping the most common web image manipulation actions in easy to use functions, but allowing full access to ImageMagick's power by issuing system calls to it's command-line programs.
Python
Wand is a ctypes-based ImagedMagick binding library for Python.
 
PythonMagick is an object-oriented Python interface to ImageMagick.
 
PythonMagickWand is an object-oriented Python interface to MagickWand based on ctypes.
 
Scilab Image Processing toolbox utilizes ImageMagick to do imaging tasks such as filtering, blurring, edge detection, thresholding, histogram manipulation, segmentation, mathematical morphology, color image processing, etc..
REALbasic
The MBS Realbasic ImageMagick is a plugin that utilizes the power of ImageMagick from within the RealBasic environment.
R
The magick package wraps the Magick++ STL to provide vectorized image processing in R. Get started with using the package vignette.
Ruby
RMagick is an interface between the Ruby programming language and the MagickCore image processing libraries. Get started with RMagick by perusing the documentation.
 
MagickWand for Ruby is an interface between the Ruby programming language and the MagickWand image processing libraries. Get started with MagickWand for PHP by perusing the documentation.
 
MiniMagick is a Ruby wrapper for ImageMagick command line. MiniMagick gives you convenient access to all the command line options ImageMagick supports.
 
QuickMagick is a gem for easily accessing ImageMagick command line tools from Ruby programs.
Rust
MagickRust is a MagickWand bindings for the Rust language.
Tcl/Tk
TclMagick a native Tcl-extension to the ImageMagick MagickWand API.
WebAssembly
Magick.WASM the WASM library for ImageMagick.
XML RPC
RemoteMagick is an XML-RPC web service that creates image thumbnails.