# montage.c File Reference

`#include "wand/studio.h"`
`#include "wand/MagickWand.h"`
`#include "wand/mogrify-private.h"`

## Defines

#define | DestroyMontage()
#define | ThrowMontageException(asperity, tag, option)
#define | ThrowMontageInvalidArgumentException(option, argument)

## Functions

static void | MontageUsage (void)
WandExport MagickBooleanType | MontageImageCommand (ImageInfo *image_info, int argc, char **argv, char **metadata, ExceptionInfo *exception)

## Define Documentation

#define DestroyMontage | ( |  | ) |

Value:

    { \
      if (montage_image != (Image *) NULL) \
        montage_image=DestroyImageList(montage_image); \
      for ( ; k >= 0; k--) \
        image_stack[k]=DestroyImageList(image_stack[k]); \
      for (i=0; i < (long) argc; i++) \
        argv[i]=DestroyString(argv[i]); \
      argv=(char **) RelinquishMagickMemory(argv); \
    }

#define ThrowMontageException | ( | asperity,
|  | tag,
|  | option |  | ) |

Value:

    { \
      (void) ThrowMagickException(exception,GetMagickModule(),asperity,tag,"`%s'", \
        option); \
      DestroyMontage(); \
      return(MagickFalse); \
    }

#define ThrowMontageInvalidArgumentException | ( | option,
|  | argument |  | ) |

Value:

    { \
      (void) ThrowMagickException(exception,GetMagickModule(),OptionError, \
        "InvalidArgument","`%s': %s",argument,option); \
      DestroyMontage(); \
      return(MagickFalse); \
    }

## Function Documentation

WandExport MagickBooleanType MontageImageCommand | ( | ImageInfo * | image_info,
|  | int | argc,
|  | char ** | argv,
|  | char ** | metadata,
|  | ExceptionInfo * | exception |
| ) |  |  |

static void MontageUsage | ( | void |  | ) | `[static]`