The same ImageMagick example, using many different API's
diff --git a/api_examples/magick_command.c b/api_examples/magick_command.c
new file mode 100644
index 0000000..c732cbe
--- /dev/null
+++ b/api_examples/magick_command.c
@@ -0,0 +1,56 @@
+/*
+ Direct call to MagickImageCommand(),
+ which is basically what the "magick" command does via
+ a wrapper function MagickCommandGenesis()
+
+ Compile with ImageMagick-devlop installed...
+
+ gcc -lMagickWand -lMagickCore magick_command.c -o magick_command
+
+ Compile and run directly in Source Directory...
+
+ IM_PROG=api_examples/magick_command
+ gcc -I`pwd` -LMagickWand/.libs -LMagickCore/.libs \
+ -lMagickWand -lMagickCore $IM_PROG.c -o $IM_PROG
+
+ sh magick.sh $IM_PROG
+
+*/
+#include <stdio.h>
+#include "MagickCore/studio.h"
+#include "MagickCore/exception.h"
+#include "MagickCore/exception-private.h"
+#include "MagickCore/image.h"
+#include "MagickWand/MagickWand.h"
+#include "MagickWand/magick-cli.h"
+
+int main(int argc, char **argv)
+{
+ MagickCoreGenesis(argv[0],MagickFalse);
+
+ {
+ MagickBooleanType status;
+
+ ImageInfo *image_info = AcquireImageInfo();
+ ExceptionInfo *exception = AcquireExceptionInfo();
+
+ int arg_count;
+ char *args[] = { "magick", "-size", "100x100", "xc:red",
+ "(", "rose:", "-rotate", "-90", ")",
+ "+append", "show:", NULL };
+
+ for(arg_count = 0; args[arg_count] != (char *)NULL; arg_count++);
+
+ (void) MagickImageCommand(image_info, arg_count, args, NULL, exception);
+
+ if (exception->severity != UndefinedException)
+ {
+ CatchException(exception);
+ fprintf(stderr, "Major Error Detected\n");
+ }
+
+ image_info=DestroyImageInfo(image_info);
+ exception=DestroyExceptionInfo(exception);
+ }
+ MagickCoreTerminus();
+}