// Last updated 2008/11/04 10:53
// convert logo: -background blue -extent 1024x768-192-144 logo_extent.jpg
// Read an image and centre it on a larger 1024x768, extended canvas.
// The input image must be no larger than 1024x768 because this code does not
// check for errors.
#include <windows.h>
#include <wand/magick_wand.h>
void test_wand(void)
{
MagickWand *m_wand = NULL;
PixelWand *p_wand;
int w,h;
MagickWandGenesis();
/* Create a wand */
m_wand = NewMagickWand();
p_wand = NewPixelWand();
// Change this to whatever colour you like - e.g. "none"
PixelSetColor(p_wand, "blue");
/* Read the input image */
MagickReadImage(m_wand,"logo:");
w = MagickGetImageWidth(m_wand);
h = MagickGetImageHeight(m_wand);
MagickSetImageBackgroundColor(m_wand,p_wand);
// This centres the original image on the new canvas.
// Note that the extent's offset is relative to the
// top left corner of the *original* image, so adding an extent
// around it means that the offset will be negative
MagickExtentImage(m_wand,1024,768,-(1024-w)/2,-(768-h)/2);
MagickWriteImage(m_wand,"logo_extent.jpg");
/* Tidy up */
m_wand = DestroyMagickWand(m_wand);
p_wand = DestroyPixelWand(p_wand);
MagickWandTerminus();
}