Chapter 1: Introduction to Magick++
I have been preparing programs that demonstrate the various capabilities of Magick++.
I am planning to prepare them as a set of articles that would demonstrate how Magick++
could be integrated in to your C++ program, thus providing an immense power in
manipulating images.
In this tutorial, I would introduce some of the basics of Magick++ and in the next
tutorial, we will discuss methods to compile a Magick++ program. Subsequently, we would
prepare simple programs and with advanced features appearing as we progress.
What is ImageMagick API?
ImageMagick is a software suite for reading, writing and manipulating images in
command line. It is also built-in with APIs in many different programming languages like Ada,
C, C++, .NET, Java, PHP, Ruby etc. These APIs allow production of complex image
processing operation and a better integration in to programs than command line tools.
The various APIs available are listed below along with their programming language.
Programming language
API
Ada
G2F
C
MagickWand
Ch
ChMagick
COM+
ImageMagickObject
C++
Magick++
Java
JMagick
LabView
LVOOP ImageMagick
Lisp
CL-Magick
.NET
MagickNet
Pascal
PascalMagick
Perl
PerlMagick
PHP
MagickWand for PHP
PHP
Imagick
Phyton
PhytonMagick
Ruby
RMagick
Tcl/Tk
TclMagick
Why ImageMagick API?
Even though the information given below was discussed in one of my previous article,
for sake of completeness, I would like to discuss the reasons for existence of ImageMagick
API like Magick++.
1. Command line tools do not lend themselves to large programs.
2. The number of file formats are finite and definitely only a few of them are used
universally. But the number of image processing operations are infinite as the
individual operations can be mixed and matched. Hence, the programmer needs
flexibility in creating their own image processing routines. ImageMagick fills this gap by
providing APIs.
3. APIs also allow access to