1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <time.h>
5 #include <magick/MagickCore.h>
6
main(int argc,char ** argv)7 int main(int argc,char **argv)
8 {
9 ExceptionInfo
10 *exception;
11
12 Image
13 *image,
14 *images,
15 *resize_image,
16 *thumbnails;
17
18 ImageInfo
19 *image_info;
20
21 if (argc != 3)
22 {
23 (void) fprintf(stdout,"Usage: %s image thumbnail\n",argv[0]);
24 exit(0);
25 }
26 /*
27 Initialize the image info structure and read an image.
28 */
29 MagickCoreGenesis(*argv,MagickTrue);
30 exception=AcquireExceptionInfo();
31 image_info=CloneImageInfo((ImageInfo *) NULL);
32 (void) strcpy(image_info->filename,argv[1]);
33 images=ReadImage(image_info,exception);
34 if (exception->severity != UndefinedException)
35 CatchException(exception);
36 if (images == (Image *) NULL)
37 exit(1);
38 /*
39 Convert the image to a thumbnail.
40 */
41 thumbnails=NewImageList();
42 while ((image=RemoveFirstImageFromList(&images)) != (Image *) NULL)
43 {
44 resize_image=ResizeImage(image,106,80,LanczosFilter,1.0,exception);
45 if (resize_image == (Image *) NULL)
46 MagickError(exception->severity,exception->reason,exception->description);
47 (void) AppendImageToList(&thumbnails,resize_image);
48 DestroyImage(image);
49 }
50 /*
51 Write the image thumbnail.
52 */
53 (void) strcpy(thumbnails->filename,argv[2]);
54 WriteImage(image_info,thumbnails);
55 /*
56 Destroy the image thumbnail and exit.
57 */
58 thumbnails=DestroyImageList(thumbnails);
59 image_info=DestroyImageInfo(image_info);
60 exception=DestroyExceptionInfo(exception);
61 MagickCoreTerminus();
62 return(0);
63 }
64