commit c20397d72c30435716a434d07ba41fb0757504d4
Author: Wilson Gheen <wilson@wilsonrgheen.com>
Date: Sat, 24 Dec 2022 15:53:11 -0600
Initial commit. Add modified version of MagickCore sample program
Diffstat:
1 file changed, 43 insertions(+), 0 deletions(-)
diff --git a/photomosaics.c b/photomosaics.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <MagickCore/MagickCore.h>
+
+int main(int argc, char **argv) {
+ ExceptionInfo *exception;
+ Image *image, *images, *resize_image, *thumbnails;
+ ImageInfo *image_info;
+ if(argc != 3) {
+ fprintf(stdout, "Usage: %s old_image new_image\n", argv[0]);
+ exit(2);
+ }
+
+ MagickCoreGenesis(*argv, MagickTrue);
+ exception = AcquireExceptionInfo();
+ image_info = CloneImageInfo((ImageInfo *)NULL);
+ strcpy(image_info->filename, argv[1]);
+ images = ReadImage(image_info, exception);
+ if(exception->severity != UndefinedException)
+ CatchException(exception);
+ if(!images)
+ exit(1);
+
+ thumbnails = NewImageList();
+ while((image=RemoveFirstImageFromList(&images)) != (Image *)NULL) {
+ resize_image = ResizeImage(image, 237, 282, LanczosFilter, exception);
+ if(!resize_image)
+ MagickError(exception->severity, exception->reason, exception->description);
+ AppendImageToList(&thumbnails, resize_image);
+ DestroyImage(image);
+ }
+
+ strcpy(thumbnails->filename, argv[2]);
+ WriteImage(image_info, thumbnails, exception);
+
+ thumbnails = DestroyImageList(thumbnails);
+ image_info = DestroyImageInfo(image_info);
+ exception = DestroyExceptionInfo(exception);
+ MagickCoreTerminus();
+ return 0;
+}