The MagickCore API is a low-level interface between the C programming language and the ImageMagick image processing libraries and is recommended for wizard-level programmers only. Unlike the MagickWand C API which uses only a few opaque types and accessors, with MagickCore you almost exlusively access the structure members directly. A description of the MagickCore public methods are found here:
- Initialize or Destroy the ImageMagick Environment
- Constitute an Image
- Composite an Image
- Image Methods
- Count the Colors in an Image
- Colormap Methods
- Image Distortions
- Dealing with Image Layers
- Dealing with Image Profiles
- Reduce the Number of Unique Colors in an Image
- Image Histograms
- Segment an Image with Thresholding Fuzzy c-Means
- Resize an Image
- Transform an Image
- Shear or Rotate an Image by an Arbitrary Angle
- Enhance an Image
- Add an Effect
- Add a Special Effect
- Decorate an Image
- Get/Set an Image Attribute
- Get/Set Image Properties
- Annotate an Image
- Paint on an Image
- Draw on an Image
- Create an Image Thumbnail
- Compute the discrete Fourier transform (DFT)
- Compare an Image to a Reconstructed Image
- Interactively Display and Edit an Image
- Interactively Animate an Image Sequence
- Convert to and from Cipher Pixels
- Working with Image Lists
- Get or Set Image Pixels
- Working with Cache Views
- The Pixel FIFO
- Read or Write Binary Large OBjects
- Loadable Modules
- Compute a Message Digest for an Image
- The Image Registry
- Dealing with Exceptions
- Memory Allocation
- Monitor or Limit Resource Consumption
- Monitor the Progress of an Image Operation
- Get the Version and Copyrights
- Deprecated Methods
- Error and Warning Codes
After you write your MagickCore program, compile it like this:
$magick> cc `MagickCore-config --cflags --cppflags` core.c `MagickCore-config --ldflags --libs`
Here is a example program that utilizes the MagickCore API to get you started, core.c. It reads a GIF image, creates a thumbnail, and writes it to disk in the PNG image format.