You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.5 KiB
64 lines
1.5 KiB
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
#include <magick/MagickCore.h>
|
|
|
|
int main(int argc,char **argv)
|
|
{
|
|
ExceptionInfo
|
|
*exception;
|
|
|
|
Image
|
|
*image,
|
|
*images,
|
|
*resize_image,
|
|
*thumbnails;
|
|
|
|
ImageInfo
|
|
*image_info;
|
|
|
|
if (argc != 3)
|
|
{
|
|
(void) fprintf(stdout,"Usage: %s image thumbnail\n",argv[0]);
|
|
exit(0);
|
|
}
|
|
/*
|
|
Initialize the image info structure and read an image.
|
|
*/
|
|
MagickCoreGenesis(*argv,MagickTrue);
|
|
exception=AcquireExceptionInfo();
|
|
image_info=CloneImageInfo((ImageInfo *) NULL);
|
|
(void) strcpy(image_info->filename,argv[1]);
|
|
images=ReadImage(image_info,exception);
|
|
if (exception->severity != UndefinedException)
|
|
CatchException(exception);
|
|
if (images == (Image *) NULL)
|
|
exit(1);
|
|
/*
|
|
Convert the image to a thumbnail.
|
|
*/
|
|
thumbnails=NewImageList();
|
|
while ((image=RemoveFirstImageFromList(&images)) != (Image *) NULL)
|
|
{
|
|
resize_image=ResizeImage(image,106,80,LanczosFilter,1.0,exception);
|
|
if (resize_image == (Image *) NULL)
|
|
MagickError(exception->severity,exception->reason,exception->description);
|
|
(void) AppendImageToList(&thumbnails,resize_image);
|
|
DestroyImage(image);
|
|
}
|
|
/*
|
|
Write the image thumbnail.
|
|
*/
|
|
(void) strcpy(thumbnails->filename,argv[2]);
|
|
WriteImage(image_info,thumbnails);
|
|
/*
|
|
Destroy the image thumbnail and exit.
|
|
*/
|
|
thumbnails=DestroyImageList(thumbnails);
|
|
image_info=DestroyImageInfo(image_info);
|
|
exception=DestroyExceptionInfo(exception);
|
|
MagickCoreTerminus();
|
|
return(0);
|
|
}
|