Home | History | Annotate | Download | only in source
      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 }
     64