開発者向けインターフェース
ImageMagick の機能は通常コマンドラインから利用しますが、好みの言語で書いたプログラムからその機能を使うこともできます。次のインターフェースから選びます: 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), WASM。言語インターフェースを使えば、ImageMagick で画像を動的かつ自動的に変更・作成できます。
次の言語インターフェースから選びます:
- C
- スレッドセーフな MagickWand ライブラリを使って、C 言語から画像を変換・合成・編集します。ウィザードレベルの開発者向けには、低レベルでスレッドセーフな MagickCore ライブラリもあります。MagickCache API は効率的な画像キャッシュを利用する開発ライブラリです。
- Ch
- ChMagick は MagickCore・MagickWand API への Ch バインディングです。Ch はクロスプラットフォームのスクリプティング用の組み込み可能な C/C++ インタプリタです。
- C++
- Magick++ は ImageMagick へのスレッドセーフでオブジェクト指向の C++ インターフェースを提供します。入門チュートリアルは A Gentle Introduction to Magick++ を参照してください。チュートリアルを修正・改善・拡張したい場合はソースも含めています。
- GO
- GoImagick は ImageMagick の MagickWand・MagickCore C API への Go バインディング群です。
- Java
- JMagick は ImageMagick へのオブジェクト指向 Java インターフェースを提供します。Im4java は ImageMagick コマンドラインへの純 Java インターフェースです。
- JavaScript/TypeScript
- WASM-ImageMagick は ImageMagick の WebAssembly コンパイルで、TypeScript・JavaScript のサーバーレスなクライアントサイドバインディングを可能にします。プログレッシブ Web アプリで動作します。
- Julia
- JuliaIO は ImageMagick へのオブジェクト指向 Julia インターフェースを提供します。
- KMagick
- KMagick は ImageMagick への Kotlin バインディングを提供します。
- LabVIEW
- LVOOP ImageMagick は ImageMagick へのオブジェクト指向 LabVIEW インターフェースです。
- Lisp
- CL-Magick は ImageMagick ライブラリへの Common Lisp インターフェースを提供します。
- Lua
- FFI を使う LuaJIT 用の ImageMagick への Lua バインディング。
- 純 C を使う Lua 用の ImageMagick への Lua バインディング。
- Neko
- NMagick は ImageMagick ライブラリを haXe・Neko プラットフォームへ移植したものです。Neko を使う Web・デスクトップ両方のアプリケーションに画像操作機能を提供します。
- .NET
- Windows .NET から画像を変換・合成・編集するには Magick.NET を使います。
- ImageMagickApp は C# で書かれた .NET アプリケーションで、ImageMagick コマンドラインを利用して複数の画像形式を異なる形式へ変換できます。
- Node.js
- Node-magickwand は ImageMagick-7 C++ ライブラリを SWIG Node-API を使って Node.js へ完全ネイティブ移植したものです。他のすべての ImageMagick npm パッケージと違い、CLI を使わず、完全な C++ API への直接アクセスを提供します。同期・マルチスレッド非同期の両操作をサポートし、TypedArray と完全に統合され、完全な TypeScript サポートを持ちます。
- Pascal
- PascalMagick は MagickWand API および低レベルの MagickCore ライブラリへの Pascal バインディングです。Free Pascal / Lazarus と Delphi で動作します。
- Perl
- Perl 言語から画像を変換・合成・編集するには PerlMagick を使います。
- PHP
- IMagick は ImageMagick API を使って画像を作成・変更するネイティブ PHP 拡張です。拡張のドキュメントはこちら、例を示すサイトは PHPImagick.com にあります。
- phMagick は ImageMagick のラッパークラスで、最も一般的な Web 画像操作を使いやすい関数にまとめつつ、コマンドラインプログラムへのシステムコールにより ImageMagick のフルパワーへのアクセスも可能にします。
- Python
- Wand は Python 用の ctypes ベースの ImageMagick バインディングライブラリです。
- PythonMagick は ImageMagick へのオブジェクト指向 Python インターフェースです。
- PythonMagickWand は ctypes ベースの MagickWand へのオブジェクト指向 Python インターフェースです。
- Scilab Image Processing ツールボックスは、フィルタリング・ブラー・エッジ検出・しきい値処理・ヒストグラム操作・セグメンテーション・数理形態学・カラー画像処理などの画像タスクに ImageMagick を利用します。
- REALbasic
- MBS Realbasic ImageMagick は、RealBasic 環境内から ImageMagick の力を利用するプラグインです。
- R
- magick パッケージは Magick++ STL をラップし、R でベクトル化された画像処理を提供します。パッケージのビネットで使い始めましょう。
- Ruby
- RMagick は Ruby 言語と MagickCore 画像処理ライブラリの間のインターフェースです。ドキュメントを読んで RMagick を使い始めましょう。
- MagickWand for Ruby は Ruby 言語と MagickWand 画像処理ライブラリの間のインターフェースです。ドキュメントを読んで使い始めましょう。
- MiniMagick は ImageMagick コマンドラインの Ruby ラッパーです。ImageMagick がサポートするすべてのコマンドラインオプションへ手軽にアクセスできます。
- QuickMagick は、Ruby プログラムから ImageMagick コマンドラインツールへ簡単にアクセスする gem です。
- Rust
- MagickRust は Rust 言語への MagickWand バインディングです。
- Tcl/Tk
- TclMagick は ImageMagick の MagickWand API へのネイティブ Tcl 拡張です。
- WebAssembly
- Magick.WASM は ImageMagick の WASM ライブラリです。
- XML RPC
- RemoteMagick は画像サムネイルを作成する XML-RPC Web サービスです。