1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <wand/MagickWand.h>
4 
main(int argc,char ** argv)5 int main(int argc,char **argv)
6 {
7 #define ThrowWandException(wand) \
8 { \
9   char \
10     *description; \
11  \
12   ExceptionType \
13     severity; \
14  \
15   description=MagickGetException(wand,&severity); \
16   (void) fprintf(stderr,"%s %s %lu %s\n",GetMagickModule(),description); \
17   description=(char *) MagickRelinquishMemory(description); \
18   exit(-1); \
19 }
20 
21   MagickBooleanType
22     status;
23 
24   MagickWand
25     *magick_wand;
26 
27   if (argc != 3)
28     {
29       (void) fprintf(stdout,"Usage: %s image thumbnail\n",argv[0]);
30       exit(0);
31     }
32   /*
33     Read an image.
34   */
35   MagickWandGenesis();
36   magick_wand=NewMagickWand();
37   status=MagickReadImage(magick_wand,argv[1]);
38   if (status == MagickFalse)
39     ThrowWandException(magick_wand);
40   /*
41     Turn the images into a thumbnail sequence.
42   */
43   MagickResetIterator(magick_wand);
44   while (MagickNextImage(magick_wand) != MagickFalse)
45     MagickResizeImage(magick_wand,106,80,LanczosFilter,1.0);
46   /*
47     Write the image then destroy it.
48   */
49   status=MagickWriteImages(magick_wand,argv[2],MagickTrue);
50   if (status == MagickFalse)
51     ThrowWandException(magick_wand);
52   magick_wand=DestroyMagickWand(magick_wand);
53   MagickWandTerminus();
54   return(0);
55 }
56