Previous: ffi-curl, Up: Foreign Functions [Contents][Index]
The libWand library is the proposed API to the ImageMagick core. Depending on the configuration of ImageMagick it supports many, many different file formats for input and output and comes along with a powerful set of image manipulation commands.
Just like the bindings for libcurl the libWand bindings can be roughly classified into user-level functions and commands, currently there is only one command in this class, and low-level API calls.
Let us begin with context handlers.
Return a newly allocated MagickWand (the context handle of libWand).
Clear all resources associated with the wand.
This does not free the memory, i.e. wand can furtherly be used
as a context, see Wand:delete-wand
.
Return a cloned copy of wand. This duplicates everything necessary to get an exact, but independent clone of wand.
Delete the wand. This frees all resources associated with the wand.
WARNING: Do not use wand after calling this function!
Return non-nil
if wand is a magick wand, nil
otherwise.
(setq foo (Wand:make-wand)) ⇒ #<ffiobject type=MagickWand size=4 fotype=0 foptr=0x8b38350> (Wand:wandp foo) ⇒ t (Wand:delete-wand foo) ⇒ nil (Wand:wandp foo) ⇒ nil
Now here is an assortment of functions which operate on a Wand.
Read file and associate it with wand.
Write the image associated with wand to file.
Display the image associated with wand.
Return a raw string of image pixel data (RGB triples).
Return a raw string of image pixel data (RGB triples).
Return the height of the image in wand in pixels.
Return the width of the image in wand in pixels.
Scale the image in wand to the dimensions width times height.
Crop to the rectangle spanned at coordinates (x, y) by width dx and height dy in the image associated with wand.
Mirror the image associated with wand around the x-axis.
Mirror the image associated with wand around the y-axis.
Rolls (offsets) the image associated with wand to an offset of x and y.
Increase the contrast of the image associated with wand.
Decrease the contrast of the image associated with wand.
Reduce the speckle noise in the image associated with wand.
Enhance the image associated with wand.
Equalise the image associated with wand.
Normalise the image associated with wand.
Reduce the noise in the image associated with wand.
Posterize the image associated with wand,
that is quantise the range of used colours to at most levels.
If optional argument ditherp is non-nil
use a dithering
effect to wipe hard contrasts.
Perform gamma correction on the image associated with wand. The argument level is a positive float, a value of 1.00 (read 100%) is a no-op.
Perform median normalisation of the pixels in the image associated with wand.
Solarise the image associated with wand.
Tweak the image associated with wand.
Perform negation on the image associated with wand.
Simulate a charcoal drawing of the image associated with wand. The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation.
Simulate oil-painting of image associated with wand. The radius argument is a float and measured in pixels.
Enhance the edges of the image associated with wand. The radius argument is a float and measured in pixels.
Emboss the image associated with wand (a relief effect). The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation.
Create a ripple effect on the image associated with wand. The amplitude argument is a float and defines the how large waves are. The wavelength argument is a float and defines how often the waves occur.
Blur the image associated with wand. The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation.
Blur the image associated with wand. The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation.
Blur the image associated with wand. The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation. The angle argument is a float and measured in degrees.
Blur the image associated with wand. The angle argument is a float and measured in degrees.
Sharpen the image associated with wand. The radius argument is a float and measured in pixels. The sigma argument is a float and defines a derivation.
Sharpen the image associated with wand using an unsharp mask.
The unsharp mask is defined by radius and sigma (defined
as in Wand:blur-image
).
The strength of sharpening is controlled by amount and
threshold.
Mostly, for demonstration purposes, there are two functions which are claimed to be suitable for user interaction. The only operations they perform are reading an image file, rescaling it to fit into the window, glyphifying it and to insert that glyph into a buffer.
Insert a glyph with the image from file at current point, scale image to fit the buffer window if necessary.
Insert a glyph with the image from file in a dedicated buffer, scale image to fit the buffer window if necessary.
Previous: ffi-curl, Up: Foreign Functions [Contents][Index]