]> granicus.if.org Git - imagemagick/blob - www/source/core.c
(no commit message)
[imagemagick] / www / source / core.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <time.h>
5 #include <magick/MagickCore.h>
6
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 }