45#include "wand/studio.h"
46#include "wand/MagickWand.h"
47#include "wand/mogrify-private.h"
48#include "magick/exception-private.h"
49#include <magick/policy-private.h>
50#include "magick/string-private.h"
51#include "magick/utility-private.h"
87static MagickBooleanType ConcatenateImages(
int argc,
char **argv,
88 ExceptionInfo *exception)
106 if (IsPathAuthorized(WritePolicyRights,argv[argc-1]) == MagickFalse)
107 ThrowPolicyException(argv[argc-1],MagickFalse);
108 output=fopen_utf8(argv[argc-1],
"wb");
109 if (output == (FILE *) NULL)
111 ThrowFileException(exception,FileOpenError,
"UnableToOpenFile",
116 for (i=2; i < ((ssize_t) argc-1); i++)
118 if (IsPathAuthorized(ReadPolicyRights,argv[i]) == MagickFalse)
119 ThrowPolicyException(argv[i],MagickFalse);
120 input=fopen_utf8(argv[i],
"rb");
121 if (input == (FILE *) NULL)
123 ThrowFileException(exception,FileOpenError,
"UnableToOpenFile",argv[i]);
126 for (c=fgetc(input); c != EOF; c=fgetc(input))
127 if (fputc((
char) c,output) != c)
129 (void) fclose(input);
130 (void) remove_utf8(argv[i]);
132 (void) fclose(output);
136static MagickBooleanType ConvertUsage(
void)
140 " -debug events display copious debugging information\n"
141 " -distribute-cache port\n"
142 " distributed pixel cache spanning one or more servers\n"
143 " -help print program options\n"
144 " -list type print a list of supported option arguments\n"
145 " -log format format of debugging information\n"
146 " -version print version information",
148 " -adaptive-blur geometry\n"
149 " adaptively blur pixels; decrease effect near edges\n"
150 " -adaptive-resize geometry\n"
151 " adaptively resize image using 'mesh' interpolation\n"
152 " -adaptive-sharpen geometry\n"
153 " adaptively sharpen pixels; increase effect near edges\n"
154 " -alpha option on, activate, off, deactivate, set, opaque, copy\n"
155 " transparent, extract, background, or shape\n"
156 " -annotate geometry text\n"
157 " annotate the image with text\n"
158 " -auto-gamma automagically adjust gamma level of image\n"
159 " -auto-level automagically adjust color levels of image\n"
160 " -auto-orient automagically orient (rotate) image\n"
161 " -bench iterations measure performance\n"
162 " -black-threshold value\n"
163 " force all pixels below the threshold into black\n"
164 " -blue-shift factor simulate a scene at nighttime in the moonlight\n"
165 " -blur geometry reduce image noise and reduce detail levels\n"
166 " -border geometry surround image with a border of color\n"
167 " -bordercolor color border color\n"
168 " -brightness-contrast geometry\n"
169 " improve brightness / contrast of the image\n"
170 " -canny geometry detect edges in the image\n"
171 " -cdl filename color correct with a color decision list\n"
172 " -charcoal radius simulate a charcoal drawing\n"
173 " -chop geometry remove pixels from the image interior\n"
174 " -clamp keep pixel values in range (0-QuantumRange)\n"
175 " -clip clip along the first path from the 8BIM profile\n"
176 " -clip-path id clip along a named path from the 8BIM profile\n"
177 " -colorize value colorize the image with the fill color\n"
178 " -color-matrix matrix apply color correction to the image\n"
179 " -connected-components connectivity\n"
180 " connected-components uniquely labeled\n"
181 " -contrast enhance or reduce the image contrast\n"
182 " -contrast-stretch geometry\n"
183 " improve contrast by `stretching' the intensity range\n"
184 " -convolve coefficients\n"
185 " apply a convolution kernel to the image\n"
186 " -cycle amount cycle the image colormap\n"
187 " -decipher filename convert cipher pixels to plain pixels\n"
188 " -deskew threshold straighten an image\n"
189 " -despeckle reduce the speckles within an image\n"
190 " -distort method args\n"
191 " distort images according to given method ad args\n"
192 " -draw string annotate the image with a graphic primitive\n"
193 " -edge radius apply a filter to detect edges in the image\n"
194 " -encipher filename convert plain pixels to cipher pixels\n"
195 " -emboss radius emboss an image\n"
196 " -enhance apply a digital filter to enhance a noisy image\n"
197 " -equalize perform histogram equalization to an image\n"
198 " -evaluate operator value\n"
199 " evaluate an arithmetic, relational, or logical expression\n"
200 " -extent geometry set the image size\n"
201 " -extract geometry extract area from image\n"
202 " -features distance analyze image features (e.g. contrast, correlation)\n"
203 " -fft implements the discrete Fourier transform (DFT)\n"
204 " -flip flip image vertically\n"
205 " -floodfill geometry color\n"
206 " floodfill the image with color\n"
207 " -flop flop image horizontally\n"
208 " -frame geometry surround image with an ornamental border\n"
209 " -function name parameters\n"
210 " apply function over image values\n"
211 " -gamma value level of gamma correction\n"
212 " -gaussian-blur geometry\n"
213 " reduce image noise and reduce detail levels\n"
214 " -geometry geometry preferred size or location of the image\n"
215 " -grayscale method convert image to grayscale\n"
216 " -hough-lines geometry\n"
217 " identify lines in the image\n"
218 " -identify identify the format and characteristics of the image\n"
219 " -ift implements the inverse discrete Fourier transform (DFT)\n"
220 " -implode amount implode image pixels about the center\n"
221 " -interpolative-resize geometry\n"
222 " resize image using 'point sampled' interpolation\n"
223 " -kuwahara geometry edge preserving noise reduction filter\n"
224 " -lat geometry local adaptive thresholding\n"
225 " -level value adjust the level of image contrast\n"
226 " -level-colors color,color\n"
227 " level image with the given colors\n"
228 " -linear-stretch geometry\n"
229 " improve contrast by `stretching with saturation'\n"
230 " -liquid-rescale geometry\n"
231 " rescale image with seam-carving\n"
232 " -local-contrast geometry\n"
233 " enhance local contrast\n"
234 " -magnify double the size of the image with pixel art scaling\n"
235 " -mean-shift geometry delineate arbitrarily shaped clusters in the image\n"
236 " -median geometry apply a median filter to the image\n"
237 " -mode geometry make each pixel the 'predominant color' of the\n"
239 " -modulate value vary the brightness, saturation, and hue\n"
240 " -monochrome transform image to black and white\n"
241 " -morphology method kernel\n"
242 " apply a morphology method to the image\n"
243 " -motion-blur geometry\n"
244 " simulate motion blur\n"
245 " -negate replace every pixel with its complementary color \n"
246 " -noise geometry add or reduce noise in an image\n"
247 " -normalize transform image to span the full range of colors\n"
248 " -opaque color change this color to the fill color\n"
249 " -ordered-dither NxN\n"
250 " add a noise pattern to the image with specific\n"
252 " -paint radius simulate an oil painting\n"
253 " -perceptible epsilon\n"
254 " pixel value less than |epsilon| become epsilon or\n"
256 " -polaroid angle simulate a Polaroid picture\n"
257 " -posterize levels reduce the image to a limited number of color levels\n"
258 " -profile filename add, delete, or apply an image profile\n"
259 " -quantize colorspace reduce colors in this colorspace\n"
260 " -radial-blur angle radial blur the image (deprecated use -rotational-blur\n"
261 " -raise value lighten/darken image edges to create a 3-D effect\n"
262 " -random-threshold low,high\n"
263 " random threshold the image\n"
264 " -region geometry apply options to a portion of the image\n"
265 " -render render vector graphics\n"
266 " -resample geometry change the resolution of an image\n"
267 " -resize geometry resize the image\n"
268 " -roll geometry roll an image vertically or horizontally\n"
269 " -rotate degrees apply Paeth rotation to the image\n"
270 " -rotational-blur angle\n"
271 " rotational blur the image\n"
272 " -sample geometry scale image with pixel sampling\n"
273 " -scale geometry scale the image\n"
274 " -segment values segment an image\n"
275 " -selective-blur geometry\n"
276 " selectively blur pixels within a contrast threshold\n"
277 " -sepia-tone threshold\n"
278 " simulate a sepia-toned photo\n"
279 " -set property value set an image property\n"
280 " -shade degrees shade the image using a distant light source\n"
281 " -shadow geometry simulate an image shadow\n"
282 " -sharpen geometry sharpen the image\n"
283 " -shave geometry shave pixels from the image edges\n"
284 " -shear geometry slide one edge of the image along the X or Y axis\n"
285 " -sigmoidal-contrast geometry\n"
286 " increase the contrast without saturating highlights or\n"
288 " -sketch geometry simulate a pencil sketch\n"
289 " -solarize threshold negate all pixels above the threshold level\n"
290 " -sparse-color method args\n"
291 " fill in a image based on a few color points\n"
292 " -splice geometry splice the background color into the image\n"
293 " -spread radius displace image pixels by a random amount\n"
294 " -statistic type geometry\n"
295 " replace each pixel with corresponding statistic from the\n"
297 " -strip strip image of all profiles and comments\n"
298 " -swirl degrees swirl image pixels about the center\n"
299 " -threshold value threshold the image\n"
300 " -thumbnail geometry create a thumbnail of the image\n"
301 " -tile filename tile image when filling a graphic primitive\n"
302 " -tint value tint the image with the fill color\n"
303 " -transform affine transform image\n"
304 " -transparent color make this color transparent within the image\n"
305 " -transpose flip image vertically and rotate 90 degrees\n"
306 " -transverse flop image horizontally and rotate 270 degrees\n"
307 " -trim trim image edges\n"
308 " -type type image type\n"
309 " -unique-colors discard all but one of any pixel color\n"
310 " -unsharp geometry sharpen the image\n"
311 " -vignette geometry soften the edges of the image in vignette style\n"
312 " -wave geometry alter an image along a sine wave\n"
313 " -wavelet-denoise threshold\n"
314 " removes noise from the image using a wavelet transform\n"
315 " -white-threshold value\n"
316 " force all pixels above the threshold into white",
317 sequence_operators[] =
318 " -append append an image sequence\n"
319 " -clut apply a color lookup table to the image\n"
320 " -coalesce merge a sequence of images\n"
321 " -combine combine a sequence of images\n"
322 " -compare mathematically and visually annotate the difference between an image and its reconstruction\n"
323 " -complex operator perform complex mathematics on an image sequence\n"
324 " -composite composite image\n"
325 " -copy geometry offset\n"
326 " copy pixels from one area of an image to another\n"
327 " -crop geometry cut out a rectangular region of the image\n"
328 " -deconstruct break down an image sequence into constituent parts\n"
329 " -evaluate-sequence operator\n"
330 " evaluate an arithmetic, relational, or logical expression\n"
331 " -flatten flatten a sequence of images\n"
332 " -fx expression apply mathematical expression to an image channel(s)\n"
333 " -hald-clut apply a Hald color lookup table to the image\n"
334 " -layers method optimize, merge, or compare image layers\n"
335 " -morph value morph an image sequence\n"
336 " -mosaic create a mosaic from an image sequence\n"
337 " -poly terms build a polynomial from the image sequence and the corresponding\n"
338 " terms (coefficients and degree pairs).\n"
340 " -print string interpret string and print to console\n"
341 " -process arguments process the image with a custom image filter\n"
342 " -separate separate an image channel into a grayscale image\n"
343 " -smush geometry smush an image sequence together\n"
344 " -write filename write images to this file",
346 " -adjoin join images into a single multi-image file\n"
347 " -affine matrix affine transform matrix\n"
348 " -alpha option activate, deactivate, reset, or set the alpha channel\n"
349 " -antialias remove pixel-aliasing\n"
350 " -authenticate password\n"
351 " decipher image with this password\n"
352 " -attenuate value lessen (or intensify) when adding noise to an image\n"
353 " -background color background color\n"
354 " -bias value add bias when convolving an image\n"
355 " -black-point-compensation\n"
356 " use black point compensation\n"
357 " -blue-primary point chromaticity blue primary point\n"
358 " -bordercolor color border color\n"
359 " -caption string assign a caption to an image\n"
360 " -channel type apply option to select image channels\n"
361 " -clip-mask filename associate a clip mask with the image\n"
362 " -colors value preferred number of colors in the image\n"
363 " -colorspace type alternate image colorspace\n"
364 " -comment string annotate image with comment\n"
365 " -compose operator set image composite operator\n"
366 " -compress type type of pixel compression when writing the image\n"
367 " -define format:option\n"
368 " define one or more image format options\n"
369 " -delay value display the next image after pausing\n"
370 " -density geometry horizontal and vertical density of the image\n"
371 " -depth value image depth\n"
372 " -direction type render text right-to-left or left-to-right\n"
373 " -display server get image or font from this X server\n"
374 " -dispose method layer disposal method\n"
375 " -dither method apply error diffusion to image\n"
376 " -encoding type text encoding type\n"
377 " -endian type endianness (MSB or LSB) of the image\n"
378 " -family name render text with this font family\n"
379 " -fill color color to use when filling a graphic primitive\n"
380 " -filter type use this filter when resizing an image\n"
381 " -font name render text with this font\n"
382 " -format \"string\" output formatted image characteristics\n"
383 " -fuzz distance colors within this distance are considered equal\n"
384 " -gravity type horizontal and vertical text placement\n"
385 " -green-primary point chromaticity green primary point\n"
386 " -intensity method method to generate intensity value from pixel\n"
387 " -intent type type of rendering intent when managing the image color\n"
388 " -interlace type type of image interlacing scheme\n"
389 " -interline-spacing value\n"
390 " set the space between two text lines\n"
391 " -interpolate method pixel color interpolation method\n"
392 " -interword-spacing value\n"
393 " set the space between two words\n"
394 " -kerning value set the space between two letters\n"
395 " -label string assign a label to an image\n"
396 " -limit type value pixel cache resource limit\n"
397 " -loop iterations add Netscape loop extension to your GIF animation\n"
398 " -mask filename associate a mask with the image\n"
399 " -matte store matte channel if the image has one\n"
400 " -mattecolor color frame color\n"
401 " -moments report image moments\n"
402 " -monitor monitor progress\n"
403 " -orient type image orientation\n"
404 " -page geometry size and location of an image canvas (setting)\n"
405 " -ping efficiently determine image attributes\n"
406 " -pointsize value font point size\n"
407 " -precision value maximum number of significant digits to print\n"
408 " -preview type image preview type\n"
409 " -quality value JPEG/MIFF/PNG compression level\n"
410 " -quiet suppress all warning messages\n"
411 " -red-primary point chromaticity red primary point\n"
412 " -regard-warnings pay attention to warning messages\n"
413 " -remap filename transform image colors to match this set of colors\n"
414 " -repage geometry size and location of an image canvas\n"
415 " -respect-parentheses settings remain in effect until parenthesis boundary\n"
416 " -sampling-factor geometry\n"
417 " horizontal and vertical sampling factor\n"
418 " -scene value image scene number\n"
419 " -seed value seed a new sequence of pseudo-random numbers\n"
420 " -size geometry width and height of image\n"
421 " -stretch type render text with this font stretch\n"
422 " -stroke color graphic primitive stroke color\n"
423 " -strokewidth value graphic primitive stroke width\n"
424 " -style type render text with this font style\n"
425 " -support factor resize support: > 1.0 is blurry, < 1.0 is sharp\n"
426 " -synchronize synchronize image to storage device\n"
427 " -taint declare the image as modified\n"
428 " -texture filename name of texture to tile onto the image background\n"
429 " -tile-offset geometry\n"
431 " -treedepth value color tree depth\n"
432 " -transparent-color color\n"
433 " transparent color\n"
434 " -undercolor color annotation bounding box color\n"
435 " -units type the units of image resolution\n"
436 " -verbose print detailed information about the image\n"
437 " -view FlashPix viewing transforms\n"
438 " -virtual-pixel method\n"
439 " virtual pixel access method\n"
440 " -weight type render text with this font weight\n"
441 " -white-point point chromaticity white point",
443 " -clone indexes clone an image\n"
444 " -delete indexes delete the image from the image sequence\n"
445 " -duplicate count,indexes\n"
446 " duplicate an image one or more times\n"
447 " -insert index insert last image into the image sequence\n"
448 " -reverse reverse image sequence\n"
449 " -swap indexes swap two images in the image sequence";
451 ListMagickVersion(stdout);
452 (void) printf(
"Usage: %s [options ...] file [ [options ...] "
453 "file ...] [options ...] file\n",GetClientName());
454 (void) printf(
"\nImage Settings:\n");
455 (void) puts(settings);
456 (void) printf(
"\nImage Operators:\n");
457 (void) puts(operators);
458 (void) printf(
"\nImage Sequence Operators:\n");
459 (void) puts(sequence_operators);
460 (void) printf(
"\nImage Stack Operators:\n");
461 (void) puts(stack_operators);
462 (void) printf(
"\nMiscellaneous Options:\n");
463 (void) puts(miscellaneous);
465 "\nBy default, the image format of `file' is determined by its magic\n");
467 "number. To specify a particular image format, precede the filename\n");
469 "with an image format name and a colon (i.e. ps:image) or specify the\n");
471 "image type as the filename suffix (i.e. image.ps). Specify 'file' as\n");
472 (void) printf(
"'-' for standard input or output.\n");
476WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info,
477 int argc,
char **argv,
char **metadata,ExceptionInfo *exception)
479#define NotInitialized (unsigned int) (~0)
480#define DestroyConvert() \
482 DestroyImageStack(); \
483 for (i=0; i < (ssize_t) argc; i++) \
484 argv[i]=DestroyString(argv[i]); \
485 argv=(char **) RelinquishMagickMemory(argv); \
487#define ThrowConvertException(asperity,tag,option) \
489 (void) ThrowMagickException(exception,GetMagickModule(),asperity,tag,"`%s'", \
492 return(MagickFalse); \
494#define ThrowConvertInvalidArgumentException(option,argument) \
496 (void) ThrowMagickException(exception,GetMagickModule(),OptionError, \
497 "InvalidArgument","`%s': %s",option,argument); \
499 return(MagickFalse); \
510 *image = (Image *) NULL;
513 image_stack[MaxImageStackDepth+1];
533 assert(image_info != (ImageInfo *) NULL);
534 assert(image_info->signature == MagickCoreSignature);
535 assert(exception != (ExceptionInfo *) NULL);
536 if (IsEventLogging() != MagickFalse)
537 (void) LogMagickEvent(TraceEvent,GetMagickModule(),
"...");
541 if ((LocaleCompare(
"version",option+1) == 0) ||
542 (LocaleCompare(
"-version",option+1) == 0))
544 ListMagickVersion(stdout);
550 (void) ThrowMagickException(exception,GetMagickModule(),OptionError,
551 "MissingArgument",
"%s",
"");
552 (void) ConvertUsage();
555 filename=(
char *) NULL;
560 option=(
char *) NULL;
562 respect_parenthesis=MagickFalse;
567 ReadCommandlLine(argc,&argv);
568 status=ExpandFilenames(&argc,&argv);
569 if (status == MagickFalse)
570 ThrowConvertException(ResourceLimitError,
"MemoryAllocationFailed",
571 GetExceptionMessage(errno));
572 if ((argc > 2) && (LocaleCompare(
"-concatenate",argv[1]) == 0))
573 return(ConcatenateImages(argc,argv,exception));
574 for (i=1; i < ((ssize_t) argc-1); i++)
577 if (LocaleCompare(option,
"(") == 0)
579 FireImageStack(MagickTrue,MagickTrue,pend);
580 if (k == MaxImageStackDepth)
581 ThrowConvertException(OptionError,
"ParenthesisNestedTooDeeply",
586 if (LocaleCompare(option,
")") == 0)
588 FireImageStack(MagickTrue,MagickTrue,MagickTrue);
590 ThrowConvertException(OptionError,
"UnableToParseExpression",option);
594 if (IsCommandOption(option) == MagickFalse)
602 FireImageStack(MagickTrue,MagickTrue,pend);
604 if ((LocaleCompare(filename,
"--") == 0) && (i < ((ssize_t) argc-1)))
606 (void) SetImageOption(image_info,
"filename",filename);
607 (void) CopyMagickString(image_info->filename,filename,MaxTextExtent);
608 if (image_info->ping != MagickFalse)
609 images=PingImages(image_info,exception);
611 images=ReadImages(image_info,exception);
612 status&=(images != (Image *) NULL) &&
613 (exception->severity < ErrorException);
614 if (images == (Image *) NULL)
616 AppendImageStack(images);
619 pend=image != (Image *) NULL ? MagickTrue : MagickFalse;
624 if (LocaleCompare(
"adaptive-blur",option+1) == 0)
627 if (i == (ssize_t) argc)
628 ThrowConvertException(OptionError,
"MissingArgument",option);
629 if (IsGeometry(argv[i]) == MagickFalse)
630 ThrowConvertInvalidArgumentException(option,argv[i]);
633 if (LocaleCompare(
"adaptive-resize",option+1) == 0)
636 if (i == (ssize_t) argc)
637 ThrowConvertException(OptionError,
"MissingArgument",option);
638 if (IsGeometry(argv[i]) == MagickFalse)
639 ThrowConvertInvalidArgumentException(option,argv[i]);
642 if (LocaleCompare(
"adaptive-sharpen",option+1) == 0)
645 if (i == (ssize_t) argc)
646 ThrowConvertException(OptionError,
"MissingArgument",option);
647 if (IsGeometry(argv[i]) == MagickFalse)
648 ThrowConvertInvalidArgumentException(option,argv[i]);
651 if (LocaleCompare(
"adjoin",option+1) == 0)
653 if (LocaleCompare(
"affine",option+1) == 0)
658 if (i == (ssize_t) argc)
659 ThrowConvertException(OptionError,
"MissingArgument",option);
660 if (IsGeometry(argv[i]) == MagickFalse)
661 ThrowConvertInvalidArgumentException(option,argv[i]);
664 if (LocaleCompare(
"alpha",option+1) == 0)
672 if (i == (ssize_t) argc)
673 ThrowConvertException(OptionError,
"MissingArgument",option);
674 type=ParseCommandOption(MagickAlphaOptions,MagickFalse,argv[i]);
676 ThrowConvertException(OptionError,
"UnrecognizedAlphaChannelType",
680 if (LocaleCompare(
"annotate",option+1) == 0)
685 if (i == (ssize_t) argc)
686 ThrowConvertException(OptionError,
"MissingArgument",option);
687 if (IsGeometry(argv[i]) == MagickFalse)
688 ThrowConvertInvalidArgumentException(option,argv[i]);
690 if (i == (ssize_t) argc)
691 ThrowConvertException(OptionError,
"MissingArgument",option);
694 if (LocaleCompare(
"antialias",option+1) == 0)
696 if (LocaleCompare(
"append",option+1) == 0)
698 if (LocaleCompare(
"attenuate",option+1) == 0)
703 if (i == (ssize_t) argc)
704 ThrowConvertException(OptionError,
"MissingArgument",option);
705 if (IsGeometry(argv[i]) == MagickFalse)
706 ThrowConvertInvalidArgumentException(option,argv[i]);
709 if (LocaleCompare(
"authenticate",option+1) == 0)
714 if (i == (ssize_t) argc)
715 ThrowConvertException(OptionError,
"MissingArgument",option);
718 if (LocaleCompare(
"auto-gamma",option+1) == 0)
720 if (LocaleCompare(
"auto-level",option+1) == 0)
722 if (LocaleCompare(
"auto-orient",option+1) == 0)
724 if (LocaleCompare(
"average",option+1) == 0)
726 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
730 if (LocaleCompare(
"background",option+1) == 0)
735 if (i == (ssize_t) argc)
736 ThrowConvertException(OptionError,
"MissingArgument",option);
739 if (LocaleCompare(
"bench",option+1) == 0)
744 if (i == (ssize_t) argc)
745 ThrowConvertException(OptionError,
"MissingArgument",option);
746 if (IsGeometry(argv[i]) == MagickFalse)
747 ThrowConvertInvalidArgumentException(option,argv[i]);
750 if (LocaleCompare(
"bias",option+1) == 0)
755 if (i == (ssize_t) argc)
756 ThrowConvertException(OptionError,
"MissingArgument",option);
757 if (IsGeometry(argv[i]) == MagickFalse)
758 ThrowConvertInvalidArgumentException(option,argv[i]);
761 if (LocaleCompare(
"black-point-compensation",option+1) == 0)
763 if (LocaleCompare(
"black-threshold",option+1) == 0)
768 if (i == (ssize_t) argc)
769 ThrowConvertException(OptionError,
"MissingArgument",option);
770 if (IsGeometry(argv[i]) == MagickFalse)
771 ThrowConvertInvalidArgumentException(option,argv[i]);
774 if (LocaleCompare(
"blue-primary",option+1) == 0)
779 if (i == (ssize_t) argc)
780 ThrowConvertException(OptionError,
"MissingArgument",option);
781 if (IsGeometry(argv[i]) == MagickFalse)
782 ThrowConvertInvalidArgumentException(option,argv[i]);
785 if (LocaleCompare(
"blue-shift",option+1) == 0)
790 if (i == (ssize_t) argc)
791 ThrowConvertException(OptionError,
"MissingArgument",option);
792 if (IsGeometry(argv[i]) == MagickFalse)
793 ThrowConvertInvalidArgumentException(option,argv[i]);
796 if (LocaleCompare(
"blur",option+1) == 0)
801 if (i == (ssize_t) argc)
802 ThrowConvertException(OptionError,
"MissingArgument",option);
803 if (IsGeometry(argv[i]) == MagickFalse)
804 ThrowConvertInvalidArgumentException(option,argv[i]);
807 if (LocaleCompare(
"border",option+1) == 0)
812 if (i == (ssize_t) argc)
813 ThrowConvertException(OptionError,
"MissingArgument",option);
814 if (IsGeometry(argv[i]) == MagickFalse)
815 ThrowConvertInvalidArgumentException(option,argv[i]);
818 if (LocaleCompare(
"bordercolor",option+1) == 0)
823 if (i == (ssize_t) argc)
824 ThrowConvertException(OptionError,
"MissingArgument",option);
827 if (LocaleCompare(
"box",option+1) == 0)
832 if (i == (ssize_t) argc)
833 ThrowConvertException(OptionError,
"MissingArgument",option);
836 if (LocaleCompare(
"brightness-contrast",option+1) == 0)
839 if (i == (ssize_t) argc)
840 ThrowConvertException(OptionError,
"MissingArgument",option);
841 if (IsGeometry(argv[i]) == MagickFalse)
842 ThrowConvertInvalidArgumentException(option,argv[i]);
845 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
849 if (LocaleCompare(
"cache",option+1) == 0)
854 if (i == (ssize_t) argc)
855 ThrowConvertException(OptionError,
"MissingArgument",option);
856 if (IsGeometry(argv[i]) == MagickFalse)
857 ThrowConvertInvalidArgumentException(option,argv[i]);
860 if (LocaleCompare(
"canny",option+1) == 0)
865 if (i == (ssize_t) argc)
866 ThrowConvertException(OptionError,
"MissingArgument",option);
867 if (IsGeometry(argv[i]) == MagickFalse)
868 ThrowConvertInvalidArgumentException(option,argv[i]);
871 if (LocaleCompare(
"caption",option+1) == 0)
876 if (i == (ssize_t) argc)
877 ThrowConvertException(OptionError,
"MissingArgument",option);
880 if (LocaleCompare(
"cdl",option+1) == 0)
885 if (i == (ssize_t) argc)
886 ThrowConvertException(OptionError,
"MissingArgument",option);
889 if (LocaleCompare(
"channel",option+1) == 0)
897 if (i == (ssize_t) argc)
898 ThrowConvertException(OptionError,
"MissingArgument",option);
899 channel=ParseChannelOption(argv[i]);
901 ThrowConvertException(OptionError,
"UnrecognizedChannelType",
905 if (LocaleCompare(
"charcoal",option+1) == 0)
910 if (i == (ssize_t) argc)
911 ThrowConvertException(OptionError,
"MissingArgument",option);
912 if (IsGeometry(argv[i]) == MagickFalse)
913 ThrowConvertInvalidArgumentException(option,argv[i]);
916 if (LocaleCompare(
"chop",option+1) == 0)
921 if (i == (ssize_t) argc)
922 ThrowConvertException(OptionError,
"MissingArgument",option);
923 if (IsGeometry(argv[i]) == MagickFalse)
924 ThrowConvertInvalidArgumentException(option,argv[i]);
927 if (LocaleCompare(
"clamp",option+1) == 0)
929 if (LocaleCompare(
"clip",option+1) == 0)
931 if (LocaleCompare(
"clip-mask",option+1) == 0)
936 if (i == (ssize_t) argc)
937 ThrowConvertException(OptionError,
"MissingArgument",option);
940 if (LocaleCompare(
"clip-path",option+1) == 0)
943 if (i == (ssize_t) argc)
944 ThrowConvertException(OptionError,
"MissingArgument",option);
947 if (LocaleCompare(
"clone",option+1) == 0)
954 clone_list=CloneImageList(image,exception);
956 clone_list=CloneImageList(image_stack[k-1].image,exception);
957 if (clone_list == (Image *) NULL)
958 ThrowConvertException(ImageError,
"ImageSequenceRequired",option);
959 FireImageStack(MagickTrue,MagickTrue,MagickTrue);
961 clone_images=CloneImages(clone_list,
"-1",exception);
965 if (i == (ssize_t) argc)
966 ThrowConvertException(OptionError,
"MissingArgument",option);
967 if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse)
968 ThrowConvertInvalidArgumentException(option,argv[i]);
969 clone_images=CloneImages(clone_list,argv[i],exception);
971 if (clone_images == (Image *) NULL)
972 ThrowConvertException(OptionError,
"NoSuchImage",option);
973 AppendImageStack(clone_images);
974 clone_list=DestroyImageList(clone_list);
977 if (LocaleCompare(
"clut",option+1) == 0)
979 if (LocaleCompare(
"coalesce",option+1) == 0)
981 if (LocaleCompare(
"colorize",option+1) == 0)
986 if (i == (ssize_t) argc)
987 ThrowConvertException(OptionError,
"MissingArgument",option);
988 if (IsGeometry(argv[i]) == MagickFalse)
989 ThrowConvertInvalidArgumentException(option,argv[i]);
992 if (LocaleCompare(
"color-matrix",option+1) == 0)
1000 if (i == (ssize_t) argc)
1001 ThrowConvertException(OptionError,
"MissingArgument",option);
1002 kernel_info=AcquireKernelInfo(argv[i]);
1003 if (kernel_info == (KernelInfo *) NULL)
1004 ThrowConvertInvalidArgumentException(option,argv[i]);
1005 kernel_info=DestroyKernelInfo(kernel_info);
1008 if (LocaleCompare(
"colors",option+1) == 0)
1013 if ((i == (ssize_t) argc) ||
1014 (IsGeometry(argv[i]) == MagickFalse))
1015 ThrowConvertException(OptionError,
"MissingArgument",option);
1018 if (LocaleCompare(
"colorspace",option+1) == 0)
1026 if (i == (ssize_t) argc)
1027 ThrowConvertException(OptionError,
"MissingArgument",option);
1028 colorspace=ParseCommandOption(MagickColorspaceOptions,
1029 MagickFalse,argv[i]);
1031 ThrowConvertException(OptionError,
"UnrecognizedColorspace",
1035 if (LocaleCompare(
"combine",option+1) == 0)
1037 if (LocaleCompare(
"comment",option+1) == 0)
1042 if (i == (ssize_t) argc)
1043 ThrowConvertException(OptionError,
"MissingArgument",option);
1046 if (LocaleCompare(
"compare",option+1) == 0)
1048 if (LocaleCompare(
"complex",option+1) == 0)
1056 if (i == (ssize_t) argc)
1057 ThrowConvertException(OptionError,
"MissingArgument",option);
1058 op=ParseCommandOption(MagickComplexOptions,MagickFalse,argv[i]);
1060 ThrowConvertException(OptionError,
"UnrecognizedComplexOperator",
1064 if (LocaleCompare(
"compose",option+1) == 0)
1072 if (i == (ssize_t) argc)
1073 ThrowConvertException(OptionError,
"MissingArgument",option);
1074 compose=ParseCommandOption(MagickComposeOptions,MagickFalse,
1077 ThrowConvertException(OptionError,
"UnrecognizedComposeOperator",
1081 if (LocaleCompare(
"composite",option+1) == 0)
1083 if (LocaleCompare(
"compress",option+1) == 0)
1091 if (i == (ssize_t) argc)
1092 ThrowConvertException(OptionError,
"MissingArgument",option);
1093 compress=ParseCommandOption(MagickCompressOptions,MagickFalse,
1096 ThrowConvertException(OptionError,
"UnrecognizedImageCompression",
1100 if (LocaleCompare(
"concurrent",option+1) == 0)
1102 if (LocaleCompare(
"connected-components",option+1) == 0)
1105 if (i == (ssize_t) argc)
1106 ThrowConvertException(OptionError,
"MissingArgument",option);
1107 if (IsGeometry(argv[i]) == MagickFalse)
1108 ThrowConvertInvalidArgumentException(option,argv[i]);
1111 if (LocaleCompare(
"contrast",option+1) == 0)
1113 if (LocaleCompare(
"contrast-stretch",option+1) == 0)
1116 if (i == (ssize_t) argc)
1117 ThrowConvertException(OptionError,
"MissingArgument",option);
1118 if (IsGeometry(argv[i]) == MagickFalse)
1119 ThrowConvertInvalidArgumentException(option,argv[i]);
1122 if (LocaleCompare(
"convolve",option+1) == 0)
1130 if (i == (ssize_t) argc)
1131 ThrowConvertException(OptionError,
"MissingArgument",option);
1132 kernel_info=AcquireKernelInfo(argv[i]);
1133 if (kernel_info == (KernelInfo *) NULL)
1134 ThrowConvertInvalidArgumentException(option,argv[i]);
1135 kernel_info=DestroyKernelInfo(kernel_info);
1138 if (LocaleCompare(
"copy",option+1) == 0)
1143 if (i == (ssize_t) argc)
1144 ThrowConvertException(OptionError,
"MissingArgument",option);
1145 if (IsGeometry(argv[i]) == MagickFalse)
1146 ThrowConvertInvalidArgumentException(option,argv[i]);
1148 if (i == (ssize_t) argc)
1149 ThrowConvertException(OptionError,
"MissingArgument",option);
1150 if (IsGeometry(argv[i]) == MagickFalse)
1151 ThrowConvertInvalidArgumentException(option,argv[i]);
1154 if (LocaleCompare(
"crop",option+1) == 0)
1159 if (i == (ssize_t) argc)
1160 ThrowConvertException(OptionError,
"MissingArgument",option);
1161 if (IsGeometry(argv[i]) == MagickFalse)
1162 ThrowConvertInvalidArgumentException(option,argv[i]);
1165 if (LocaleCompare(
"cycle",option+1) == 0)
1170 if (i == (ssize_t) argc)
1171 ThrowConvertException(OptionError,
"MissingArgument",option);
1172 if (IsGeometry(argv[i]) == MagickFalse)
1173 ThrowConvertInvalidArgumentException(option,argv[i]);
1176 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1180 if (LocaleCompare(
"decipher",option+1) == 0)
1185 if (i == (ssize_t) argc)
1186 ThrowConvertException(OptionError,
"MissingArgument",option);
1189 if (LocaleCompare(
"deconstruct",option+1) == 0)
1191 if (LocaleCompare(
"debug",option+1) == 0)
1199 if (i == (ssize_t) argc)
1200 ThrowConvertException(OptionError,
"MissingArgument",option);
1201 event=ParseCommandOption(MagickLogEventOptions,MagickFalse,argv[i]);
1203 ThrowConvertException(OptionError,
"UnrecognizedEventType",
1205 (void) SetLogEventMask(argv[i]);
1208 if (LocaleCompare(
"define",option+1) == 0)
1211 if (i == (ssize_t) argc)
1212 ThrowConvertException(OptionError,
"MissingArgument",option);
1218 define=GetImageOption(image_info,argv[i]);
1219 if (define == (
const char *) NULL)
1220 ThrowConvertException(OptionError,
"NoSuchOption",argv[i]);
1225 if (LocaleCompare(
"delay",option+1) == 0)
1230 if (i == (ssize_t) argc)
1231 ThrowConvertException(OptionError,
"MissingArgument",option);
1232 if (IsGeometry(argv[i]) == MagickFalse)
1233 ThrowConvertInvalidArgumentException(option,argv[i]);
1236 if (LocaleCompare(
"delete",option+1) == 0)
1241 if (i == (ssize_t) argc)
1242 ThrowConvertException(OptionError,
"MissingArgument",option);
1243 if (IsSceneGeometry(argv[i],MagickFalse) == MagickFalse)
1244 ThrowConvertInvalidArgumentException(option,argv[i]);
1247 if (LocaleCompare(
"density",option+1) == 0)
1252 if (i == (ssize_t) argc)
1253 ThrowConvertException(OptionError,
"MissingArgument",option);
1254 if (IsGeometry(argv[i]) == MagickFalse)
1255 ThrowConvertInvalidArgumentException(option,argv[i]);
1258 if (LocaleCompare(
"depth",option+1) == 0)
1263 if (i == (ssize_t) argc)
1264 ThrowConvertException(OptionError,
"MissingArgument",option);
1265 if (IsGeometry(argv[i]) == MagickFalse)
1266 ThrowConvertInvalidArgumentException(option,argv[i]);
1269 if (LocaleCompare(
"deskew",option+1) == 0)
1274 if (i == (ssize_t) argc)
1275 ThrowConvertException(OptionError,
"MissingArgument",option);
1276 if (IsGeometry(argv[i]) == MagickFalse)
1277 ThrowConvertInvalidArgumentException(option,argv[i]);
1280 if (LocaleCompare(
"despeckle",option+1) == 0)
1282 if (LocaleCompare(
"direction",option+1) == 0)
1290 if (i == (ssize_t) argc)
1291 ThrowConvertException(OptionError,
"MissingArgument",option);
1292 direction=ParseCommandOption(MagickDirectionOptions,MagickFalse,
1295 ThrowConvertException(OptionError,
"UnrecognizedDirectionType",
1299 if (LocaleCompare(
"display",option+1) == 0)
1304 if (i == (ssize_t) argc)
1305 ThrowConvertException(OptionError,
"MissingArgument",option);
1308 if (LocaleCompare(
"dispose",option+1) == 0)
1316 if (i == (ssize_t) argc)
1317 ThrowConvertException(OptionError,
"MissingArgument",option);
1318 dispose=ParseCommandOption(MagickDisposeOptions,MagickFalse,argv[i]);
1320 ThrowConvertException(OptionError,
"UnrecognizedDisposeMethod",
1324 if (LocaleCompare(
"distort",option+1) == 0)
1330 if (i == (ssize_t) argc)
1331 ThrowConvertException(OptionError,
"MissingArgument",option);
1332 op=ParseCommandOption(MagickDistortOptions,MagickFalse,argv[i]);
1334 ThrowConvertException(OptionError,
"UnrecognizedDistortMethod",
1337 if (i == (ssize_t) argc)
1338 ThrowConvertException(OptionError,
"MissingArgument",option);
1341 if (LocaleCompare(
"dither",option+1) == 0)
1349 if (i == (ssize_t) argc)
1350 ThrowConvertException(OptionError,
"MissingArgument",option);
1351 method=ParseCommandOption(MagickDitherOptions,MagickFalse,argv[i]);
1353 ThrowConvertException(OptionError,
"UnrecognizedDitherMethod",
1357 if (LocaleCompare(
"draw",option+1) == 0)
1362 if (i == (ssize_t) argc)
1363 ThrowConvertException(OptionError,
"MissingArgument",option);
1366 if (LocaleCompare(
"duplicate",option+1) == 0)
1371 if (i == (ssize_t) argc)
1372 ThrowConvertException(OptionError,
"MissingArgument",option);
1373 if (IsGeometry(argv[i]) == MagickFalse)
1374 ThrowConvertInvalidArgumentException(option,argv[i]);
1377 if (LocaleCompare(
"duration",option+1) == 0)
1382 if (i == (ssize_t) argc)
1383 ThrowConvertException(OptionError,
"MissingArgument",option);
1384 if (IsGeometry(argv[i]) == MagickFalse)
1385 ThrowConvertInvalidArgumentException(option,argv[i]);
1388 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1392 if (LocaleCompare(
"edge",option+1) == 0)
1397 if (i == (ssize_t) argc)
1398 ThrowConvertException(OptionError,
"MissingArgument",option);
1399 if (IsGeometry(argv[i]) == MagickFalse)
1400 ThrowConvertInvalidArgumentException(option,argv[i]);
1403 if (LocaleCompare(
"emboss",option+1) == 0)
1408 if (i == (ssize_t) argc)
1409 ThrowConvertException(OptionError,
"MissingArgument",option);
1410 if (IsGeometry(argv[i]) == MagickFalse)
1411 ThrowConvertInvalidArgumentException(option,argv[i]);
1414 if (LocaleCompare(
"encipher",option+1) == 0)
1419 if (i == (ssize_t) argc)
1420 ThrowConvertException(OptionError,
"MissingArgument",option);
1423 if (LocaleCompare(
"encoding",option+1) == 0)
1428 if (i == (ssize_t) argc)
1429 ThrowConvertException(OptionError,
"MissingArgument",option);
1432 if (LocaleCompare(
"endian",option+1) == 0)
1440 if (i == (ssize_t) argc)
1441 ThrowConvertException(OptionError,
"MissingArgument",option);
1442 endian=ParseCommandOption(MagickEndianOptions,MagickFalse,
1445 ThrowConvertException(OptionError,
"UnrecognizedEndianType",
1449 if (LocaleCompare(
"enhance",option+1) == 0)
1451 if (LocaleCompare(
"equalize",option+1) == 0)
1453 if (LocaleCompare(
"evaluate",option+1) == 0)
1461 if (i == (ssize_t) argc)
1462 ThrowConvertException(OptionError,
"MissingArgument",option);
1463 op=ParseCommandOption(MagickEvaluateOptions,MagickFalse,argv[i]);
1465 ThrowConvertException(OptionError,
"UnrecognizedEvaluateOperator",
1468 if (i == (ssize_t) argc)
1469 ThrowConvertException(OptionError,
"MissingArgument",option);
1470 if (IsGeometry(argv[i]) == MagickFalse)
1471 ThrowConvertInvalidArgumentException(option,argv[i]);
1474 if (LocaleCompare(
"evaluate-sequence",option+1) == 0)
1482 if (i == (ssize_t) argc)
1483 ThrowConvertException(OptionError,
"MissingArgument",option);
1484 op=ParseCommandOption(MagickEvaluateOptions,MagickFalse,argv[i]);
1486 ThrowConvertException(OptionError,
"UnrecognizedEvaluateOperator",
1490 if (LocaleCompare(
"extent",option+1) == 0)
1495 if (i == (ssize_t) argc)
1496 ThrowConvertException(OptionError,
"MissingArgument",option);
1497 if (IsGeometry(argv[i]) == MagickFalse)
1498 ThrowConvertInvalidArgumentException(option,argv[i]);
1501 if (LocaleCompare(
"extract",option+1) == 0)
1506 if (i == (ssize_t) argc)
1507 ThrowConvertException(OptionError,
"MissingArgument",option);
1508 if (IsGeometry(argv[i]) == MagickFalse)
1509 ThrowConvertInvalidArgumentException(option,argv[i]);
1512 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1516 if (LocaleCompare(
"family",option+1) == 0)
1521 if (i == (ssize_t) argc)
1522 ThrowConvertException(OptionError,
"MissingArgument",option);
1525 if (LocaleCompare(
"features",option+1) == 0)
1530 if (i == (ssize_t) argc)
1531 ThrowConvertException(OptionError,
"MissingArgument",option);
1532 if (IsGeometry(argv[i]) == MagickFalse)
1533 ThrowConvertInvalidArgumentException(option,argv[i]);
1536 if (LocaleCompare(
"fft",option+1) == 0)
1538 if (LocaleCompare(
"fill",option+1) == 0)
1543 if (i == (ssize_t) argc)
1544 ThrowConvertException(OptionError,
"MissingArgument",option);
1547 if (LocaleCompare(
"filter",option+1) == 0)
1555 if (i == (ssize_t) argc)
1556 ThrowConvertException(OptionError,
"MissingArgument",option);
1557 filter=ParseCommandOption(MagickFilterOptions,MagickFalse,argv[i]);
1559 ThrowConvertException(OptionError,
"UnrecognizedImageFilter",
1563 if (LocaleCompare(
"flatten",option+1) == 0)
1565 if (LocaleCompare(
"flip",option+1) == 0)
1567 if (LocaleCompare(
"flop",option+1) == 0)
1569 if (LocaleCompare(
"floodfill",option+1) == 0)
1574 if (i == (ssize_t) argc)
1575 ThrowConvertException(OptionError,
"MissingArgument",option);
1576 if (IsGeometry(argv[i]) == MagickFalse)
1577 ThrowConvertInvalidArgumentException(option,argv[i]);
1579 if (i == (ssize_t) argc)
1580 ThrowConvertException(OptionError,
"MissingArgument",option);
1583 if (LocaleCompare(
"font",option+1) == 0)
1588 if (i == (ssize_t) argc)
1589 ThrowConvertException(OptionError,
"MissingArgument",option);
1592 if (LocaleCompare(
"format",option+1) == 0)
1597 if (i == (ssize_t) argc)
1598 ThrowConvertException(OptionError,
"MissingArgument",option);
1602 if (LocaleCompare(
"frame",option+1) == 0)
1607 if (i == (ssize_t) argc)
1608 ThrowConvertException(OptionError,
"MissingArgument",option);
1609 if (IsGeometry(argv[i]) == MagickFalse)
1610 ThrowConvertInvalidArgumentException(option,argv[i]);
1613 if (LocaleCompare(
"function",option+1) == 0)
1621 if (i == (ssize_t) argc)
1622 ThrowConvertException(OptionError,
"MissingArgument",option);
1623 op=ParseCommandOption(MagickFunctionOptions,MagickFalse,argv[i]);
1625 ThrowConvertException(OptionError,
"UnrecognizedFunction",argv[i]);
1627 if (i == (ssize_t) argc)
1628 ThrowConvertException(OptionError,
"MissingArgument",option);
1631 if (LocaleCompare(
"fuzz",option+1) == 0)
1636 if (i == (ssize_t) argc)
1637 ThrowConvertException(OptionError,
"MissingArgument",option);
1638 if (IsGeometry(argv[i]) == MagickFalse)
1639 ThrowConvertInvalidArgumentException(option,argv[i]);
1642 if (LocaleCompare(
"fx",option+1) == 0)
1647 if (i == (ssize_t) argc)
1648 ThrowConvertException(OptionError,
"MissingArgument",option);
1651 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1655 if (LocaleCompare(
"gamma",option+1) == 0)
1658 if (i == (ssize_t) argc)
1659 ThrowConvertException(OptionError,
"MissingArgument",option);
1660 if (IsGeometry(argv[i]) == MagickFalse)
1661 ThrowConvertInvalidArgumentException(option,argv[i]);
1664 if ((LocaleCompare(
"gaussian-blur",option+1) == 0) ||
1665 (LocaleCompare(
"gaussian",option+1) == 0))
1668 if (i == (ssize_t) argc)
1669 ThrowConvertException(OptionError,
"MissingArgument",option);
1670 if (IsGeometry(argv[i]) == MagickFalse)
1671 ThrowConvertInvalidArgumentException(option,argv[i]);
1674 if (LocaleCompare(
"geometry",option+1) == 0)
1679 if (i == (ssize_t) argc)
1680 ThrowConvertException(OptionError,
"MissingArgument",option);
1681 if (IsGeometry(argv[i]) == MagickFalse)
1682 ThrowConvertInvalidArgumentException(option,argv[i]);
1685 if (LocaleCompare(
"gravity",option+1) == 0)
1693 if (i == (ssize_t) argc)
1694 ThrowConvertException(OptionError,
"MissingArgument",option);
1695 gravity=ParseCommandOption(MagickGravityOptions,MagickFalse,
1698 ThrowConvertException(OptionError,
"UnrecognizedGravityType",
1702 if (LocaleCompare(
"grayscale",option+1) == 0)
1710 if (i == (ssize_t) argc)
1711 ThrowConvertException(OptionError,
"MissingArgument",option);
1712 method=ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,
1715 ThrowConvertException(OptionError,
"UnrecognizedIntensityMethod",
1719 if (LocaleCompare(
"green-primary",option+1) == 0)
1724 if (i == (ssize_t) argc)
1725 ThrowConvertException(OptionError,
"MissingArgument",option);
1726 if (IsGeometry(argv[i]) == MagickFalse)
1727 ThrowConvertInvalidArgumentException(option,argv[i]);
1730 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1734 if (LocaleCompare(
"hald-clut",option+1) == 0)
1736 if (LocaleCompare(
"hough-lines",option+1) == 0)
1741 if (i == (ssize_t) argc)
1742 ThrowConvertException(OptionError,
"MissingArgument",option);
1743 if (IsGeometry(argv[i]) == MagickFalse)
1744 ThrowConvertInvalidArgumentException(option,argv[i]);
1747 if ((LocaleCompare(
"help",option+1) == 0) ||
1748 (LocaleCompare(
"-help",option+1) == 0))
1751 return(ConvertUsage());
1753 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1757 if (LocaleCompare(
"identify",option+1) == 0)
1759 if (LocaleCompare(
"ift",option+1) == 0)
1761 if (LocaleCompare(
"implode",option+1) == 0)
1766 if (i == (ssize_t) argc)
1767 ThrowConvertException(OptionError,
"MissingArgument",option);
1768 if (IsGeometry(argv[i]) == MagickFalse)
1769 ThrowConvertInvalidArgumentException(option,argv[i]);
1772 if (LocaleCompare(
"interpolative-resize",option+1) == 0)
1775 if (i == (ssize_t) argc)
1776 ThrowConvertException(OptionError,
"MissingArgument",option);
1777 if (IsGeometry(argv[i]) == MagickFalse)
1778 ThrowConvertInvalidArgumentException(option,argv[i]);
1781 if (LocaleCompare(
"insert",option+1) == 0)
1786 if (i == (ssize_t) argc)
1787 ThrowConvertException(OptionError,
"MissingArgument",option);
1788 if (IsGeometry(argv[i]) == MagickFalse)
1789 ThrowConvertInvalidArgumentException(option,argv[i]);
1792 if (LocaleCompare(
"intensity",option+1) == 0)
1800 if (i == (ssize_t) argc)
1801 ThrowConvertException(OptionError,
"MissingArgument",option);
1802 intensity=ParseCommandOption(MagickPixelIntensityOptions,
1803 MagickFalse,argv[i]);
1805 ThrowConvertException(OptionError,
1806 "UnrecognizedPixelIntensityMethod",argv[i]);
1809 if (LocaleCompare(
"intent",option+1) == 0)
1817 if (i == (ssize_t) argc)
1818 ThrowConvertException(OptionError,
"MissingArgument",option);
1819 intent=ParseCommandOption(MagickIntentOptions,MagickFalse,argv[i]);
1821 ThrowConvertException(OptionError,
"UnrecognizedIntentType",
1825 if (LocaleCompare(
"interlace",option+1) == 0)
1833 if (i == (ssize_t) argc)
1834 ThrowConvertException(OptionError,
"MissingArgument",option);
1835 interlace=ParseCommandOption(MagickInterlaceOptions,MagickFalse,
1838 ThrowConvertException(OptionError,
"UnrecognizedInterlaceType",
1842 if (LocaleCompare(
"interline-spacing",option+1) == 0)
1847 if (i == (ssize_t) argc)
1848 ThrowConvertException(OptionError,
"MissingArgument",option);
1849 if (IsGeometry(argv[i]) == MagickFalse)
1850 ThrowConvertInvalidArgumentException(option,argv[i]);
1853 if (LocaleCompare(
"interpolate",option+1) == 0)
1861 if (i == (ssize_t) argc)
1862 ThrowConvertException(OptionError,
"MissingArgument",option);
1863 interpolate=ParseCommandOption(MagickInterpolateOptions,MagickFalse,
1865 if (interpolate < 0)
1866 ThrowConvertException(OptionError,
"UnrecognizedInterpolateMethod",
1870 if (LocaleCompare(
"interword-spacing",option+1) == 0)
1875 if (i == (ssize_t) argc)
1876 ThrowConvertException(OptionError,
"MissingArgument",option);
1877 if (IsGeometry(argv[i]) == MagickFalse)
1878 ThrowConvertInvalidArgumentException(option,argv[i]);
1881 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1885 if (LocaleCompare(
"kerning",option+1) == 0)
1890 if (i == (ssize_t) argc)
1891 ThrowConvertException(OptionError,
"MissingArgument",option);
1892 if (IsGeometry(argv[i]) == MagickFalse)
1893 ThrowConvertInvalidArgumentException(option,argv[i]);
1896 if (LocaleCompare(
"kuwahara",option+1) == 0)
1901 if (i == (ssize_t) argc)
1902 ThrowConvertException(OptionError,
"MissingArgument",option);
1903 if (IsGeometry(argv[i]) == MagickFalse)
1904 ThrowConvertInvalidArgumentException(option,argv[i]);
1907 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
1911 if (LocaleCompare(
"label",option+1) == 0)
1916 if (i == (ssize_t) argc)
1917 ThrowConvertException(OptionError,
"MissingArgument",option);
1920 if (LocaleCompare(
"lat",option+1) == 0)
1925 if (i == (ssize_t) argc)
1926 ThrowConvertException(OptionError,
"MissingArgument",option);
1927 if (IsGeometry(argv[i]) == MagickFalse)
1928 ThrowConvertInvalidArgumentException(option,argv[i]);
1931 if (LocaleCompare(
"layers",option+1) == 0)
1939 if (i == (ssize_t) argc)
1940 ThrowConvertException(OptionError,
"MissingArgument",option);
1941 type=ParseCommandOption(MagickLayerOptions,MagickFalse,argv[i]);
1943 ThrowConvertException(OptionError,
"UnrecognizedLayerMethod",
1947 if (LocaleCompare(
"level",option+1) == 0)
1950 if (i == (ssize_t) argc)
1951 ThrowConvertException(OptionError,
"MissingArgument",option);
1952 if (IsGeometry(argv[i]) == MagickFalse)
1953 ThrowConvertInvalidArgumentException(option,argv[i]);
1956 if (LocaleCompare(
"level-colors",option+1) == 0)
1959 if (i == (ssize_t) argc)
1960 ThrowConvertException(OptionError,
"MissingArgument",option);
1963 if (LocaleCompare(
"linewidth",option+1) == 0)
1968 if (i == (ssize_t) argc)
1969 ThrowConvertException(OptionError,
"MissingArgument",option);
1970 if (IsGeometry(argv[i]) == MagickFalse)
1971 ThrowConvertInvalidArgumentException(option,argv[i]);
1974 if (LocaleCompare(
"liquid-rescale",option+1) == 0)
1977 if (i == (ssize_t) argc)
1978 ThrowConvertException(OptionError,
"MissingArgument",option);
1979 if (IsGeometry(argv[i]) == MagickFalse)
1980 ThrowConvertInvalidArgumentException(option,argv[i]);
1983 if (LocaleCompare(
"limit",option+1) == 0)
1997 if (i == (ssize_t) argc)
1998 ThrowConvertException(OptionError,
"MissingArgument",option);
1999 resource=ParseCommandOption(MagickResourceOptions,MagickFalse,
2002 ThrowConvertException(OptionError,
"UnrecognizedResourceType",
2005 if (i == (ssize_t) argc)
2006 ThrowConvertException(OptionError,
"MissingArgument",option);
2007 value=StringToDouble(argv[i],&p);
2009 if ((p == argv[i]) && (LocaleCompare(
"unlimited",argv[i]) != 0))
2010 ThrowConvertInvalidArgumentException(option,argv[i]);
2013 if (LocaleCompare(
"linear-stretch",option+1) == 0)
2016 if (i == (ssize_t) argc)
2017 ThrowConvertException(OptionError,
"MissingArgument",option);
2018 if (IsGeometry(argv[i]) == MagickFalse)
2019 ThrowConvertInvalidArgumentException(option,argv[i]);
2022 if (LocaleCompare(
"list",option+1) == 0)
2030 if (i == (ssize_t) argc)
2031 ThrowConvertException(OptionError,
"MissingArgument",option);
2032 list=ParseCommandOption(MagickListOptions,MagickFalse,argv[i]);
2034 ThrowConvertException(OptionError,
"UnrecognizedListType",argv[i]);
2035 status=MogrifyImageInfo(image_info,(
int) (i-j+1),(
const char **)
2038 return(status == 0 ? MagickFalse : MagickTrue);
2040 if (LocaleCompare(
"local-contrast",option+1) == 0)
2043 if (i == (ssize_t) argc)
2044 ThrowConvertException(OptionError,
"MissingArgument",option);
2045 if (IsGeometry(argv[i]) == MagickFalse)
2046 ThrowConvertInvalidArgumentException(option,argv[i]);
2049 if (LocaleCompare(
"log",option+1) == 0)
2054 if ((i == (ssize_t) argc) ||
2055 (strchr(argv[i],
'%') == (
char *) NULL))
2056 ThrowConvertException(OptionError,
"MissingArgument",option);
2059 if (LocaleCompare(
"loop",option+1) == 0)
2064 if (i == (ssize_t) argc)
2065 ThrowConvertException(OptionError,
"MissingArgument",option);
2066 if (IsGeometry(argv[i]) == MagickFalse)
2067 ThrowConvertInvalidArgumentException(option,argv[i]);
2070 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2074 if (LocaleCompare(
"magnify",option+1) == 0)
2076 if (LocaleCompare(
"map",option+1) == 0)
2081 if (i == (ssize_t) argc)
2082 ThrowConvertException(OptionError,
"MissingArgument",option);
2085 if (LocaleCompare(
"mask",option+1) == 0)
2090 if (i == (ssize_t) argc)
2091 ThrowConvertException(OptionError,
"MissingArgument",option);
2094 if (LocaleCompare(
"matte",option+1) == 0)
2096 if (LocaleCompare(
"mattecolor",option+1) == 0)
2101 if (i == (ssize_t) argc)
2102 ThrowConvertException(OptionError,
"MissingArgument",option);
2105 if (LocaleCompare(
"maximum",option+1) == 0)
2107 if (LocaleCompare(
"mean-shift",option+1) == 0)
2112 if (i == (ssize_t) argc)
2113 ThrowConvertException(OptionError,
"MissingArgument",option);
2114 if (IsGeometry(argv[i]) == MagickFalse)
2115 ThrowConvertInvalidArgumentException(option,argv[i]);
2118 if (LocaleCompare(
"median",option+1) == 0)
2123 if (i == (ssize_t) argc)
2124 ThrowConvertException(OptionError,
"MissingArgument",option);
2125 if (IsGeometry(argv[i]) == MagickFalse)
2126 ThrowConvertInvalidArgumentException(option,argv[i]);
2129 if (LocaleCompare(
"metric",option+1) == 0)
2137 if (i == (ssize_t) argc)
2138 ThrowConvertException(OptionError,
"MissingArgument",option);
2139 type=ParseCommandOption(MagickMetricOptions,MagickTrue,argv[i]);
2141 ThrowConvertException(OptionError,
"UnrecognizedMetricType",
2145 if (LocaleCompare(
"minimum",option+1) == 0)
2147 if (LocaleCompare(
"mode",option+1) == 0)
2152 if (i == (ssize_t) argc)
2153 ThrowConvertException(OptionError,
"MissingArgument",option);
2154 if (IsGeometry(argv[i]) == MagickFalse)
2155 ThrowConvertInvalidArgumentException(option,argv[i]);
2158 if (LocaleCompare(
"modulate",option+1) == 0)
2163 if (i == (ssize_t) argc)
2164 ThrowConvertException(OptionError,
"MissingArgument",option);
2165 if (IsGeometry(argv[i]) == MagickFalse)
2166 ThrowConvertInvalidArgumentException(option,argv[i]);
2169 if (LocaleCompare(
"moments",option+1) == 0)
2171 if (LocaleCompare(
"monitor",option+1) == 0)
2173 if (LocaleCompare(
"monochrome",option+1) == 0)
2175 if (LocaleCompare(
"morph",option+1) == 0)
2180 if (i == (ssize_t) argc)
2181 ThrowConvertException(OptionError,
"MissingArgument",option);
2182 if (IsGeometry(argv[i]) == MagickFalse)
2183 ThrowConvertInvalidArgumentException(option,argv[i]);
2186 if (LocaleCompare(
"morphology",option+1) == 0)
2189 token[MaxTextExtent];
2198 if (i == (ssize_t) argc)
2199 ThrowConvertException(OptionError,
"MissingArgument",option);
2200 (void) GetNextToken(argv[i],(
const char **) NULL,MaxTextExtent,token);
2201 op=ParseCommandOption(MagickMorphologyOptions,MagickFalse,token);
2203 ThrowConvertException(OptionError,
"UnrecognizedMorphologyMethod",
2206 if (i == (ssize_t) argc)
2207 ThrowConvertException(OptionError,
"MissingArgument",option);
2208 kernel_info=AcquireKernelInfo(argv[i]);
2209 if (kernel_info == (KernelInfo *) NULL)
2210 ThrowConvertInvalidArgumentException(option,argv[i]);
2211 kernel_info=DestroyKernelInfo(kernel_info);
2214 if (LocaleCompare(
"mosaic",option+1) == 0)
2216 if (LocaleCompare(
"motion-blur",option+1) == 0)
2221 if (i == (ssize_t) argc)
2222 ThrowConvertException(OptionError,
"MissingArgument",option);
2223 if (IsGeometry(argv[i]) == MagickFalse)
2224 ThrowConvertInvalidArgumentException(option,argv[i]);
2227 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2231 if (LocaleCompare(
"negate",option+1) == 0)
2233 if (LocaleCompare(
"noise",option+1) == 0)
2236 if (i == (ssize_t) argc)
2237 ThrowConvertException(OptionError,
"MissingArgument",option);
2243 noise=ParseCommandOption(MagickNoiseOptions,MagickFalse,
2246 ThrowConvertException(OptionError,
"UnrecognizedNoiseType",
2250 if (IsGeometry(argv[i]) == MagickFalse)
2251 ThrowConvertInvalidArgumentException(option,argv[i]);
2254 if (LocaleCompare(
"noop",option+1) == 0)
2256 if (LocaleCompare(
"normalize",option+1) == 0)
2258 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2262 if (LocaleCompare(
"opaque",option+1) == 0)
2265 if (i == (ssize_t) argc)
2266 ThrowConvertException(OptionError,
"MissingArgument",option);
2269 if (LocaleCompare(
"ordered-dither",option+1) == 0)
2274 if (i == (ssize_t) argc)
2275 ThrowConvertException(OptionError,
"MissingArgument",option);
2278 if (LocaleCompare(
"orient",option+1) == 0)
2286 if (i == (ssize_t) argc)
2287 ThrowConvertException(OptionError,
"MissingArgument",option);
2288 orientation=ParseCommandOption(MagickOrientationOptions,
2289 MagickFalse,argv[i]);
2290 if (orientation < 0)
2291 ThrowConvertException(OptionError,
"UnrecognizedImageOrientation",
2295 ThrowConvertException(OptionError,
"UnrecognizedOption",argv[i])
2299 if (LocaleCompare(
"page",option+1) == 0)
2304 if (i == (ssize_t) argc)
2305 ThrowConvertException(OptionError,
"MissingArgument",option);
2308 if (LocaleCompare(
"paint",option+1) == 0)
2313 if (i == (ssize_t) argc)
2314 ThrowConvertException(OptionError,
"MissingArgument",option);
2315 if (IsGeometry(argv[i]) == MagickFalse)
2316 ThrowConvertInvalidArgumentException(option,argv[i]);
2319 if (LocaleCompare(
"perceptible",option+1) == 0)
2324 if (i == (ssize_t) argc)
2325 ThrowConvertException(OptionError,
"MissingArgument",option);
2326 if (IsGeometry(argv[i]) == MagickFalse)
2327 ThrowConvertInvalidArgumentException(option,argv[i]);
2330 if (LocaleCompare(
"ping",option+1) == 0)
2332 if (LocaleCompare(
"pointsize",option+1) == 0)
2337 if (i == (ssize_t) argc)
2338 ThrowConvertException(OptionError,
"MissingArgument",option);
2339 if (IsGeometry(argv[i]) == MagickFalse)
2340 ThrowConvertInvalidArgumentException(option,argv[i]);
2343 if (LocaleCompare(
"polaroid",option+1) == 0)
2348 if (i == (ssize_t) argc)
2349 ThrowConvertException(OptionError,
"MissingArgument",option);
2350 if (IsGeometry(argv[i]) == MagickFalse)
2351 ThrowConvertInvalidArgumentException(option,argv[i]);
2354 if (LocaleCompare(
"poly",option+1) == 0)
2359 if (i == (ssize_t) argc)
2360 ThrowConvertException(OptionError,
"MissingArgument",option);
2361 if (IsGeometry(argv[i]) == MagickFalse)
2362 ThrowConvertInvalidArgumentException(option,argv[i]);
2365 if (LocaleCompare(
"posterize",option+1) == 0)
2370 if (i == (ssize_t) argc)
2371 ThrowConvertException(OptionError,
"MissingArgument",option);
2372 if (IsGeometry(argv[i]) == MagickFalse)
2373 ThrowConvertInvalidArgumentException(option,argv[i]);
2376 if (LocaleCompare(
"precision",option+1) == 0)
2381 if (i == (ssize_t) argc)
2382 ThrowConvertException(OptionError,
"MissingArgument",option);
2383 if (IsGeometry(argv[i]) == MagickFalse)
2384 ThrowConvertInvalidArgumentException(option,argv[i]);
2387 if (LocaleCompare(
"preview",option+1) == 0)
2395 if (i == (ssize_t) argc)
2396 ThrowConvertException(OptionError,
"MissingArgument",option);
2397 preview=ParseCommandOption(MagickPreviewOptions,MagickFalse,
2400 ThrowConvertException(OptionError,
"UnrecognizedPreviewType",
2404 if (LocaleCompare(
"print",option+1) == 0)
2409 if (i == (ssize_t) argc)
2410 ThrowConvertException(OptionError,
"MissingArgument",option);
2413 if (LocaleCompare(
"process",option+1) == 0)
2418 if (i == (ssize_t) argc)
2419 ThrowConvertException(OptionError,
"MissingArgument",option);
2422 if (LocaleCompare(
"profile",option+1) == 0)
2425 if (i == (ssize_t) argc)
2426 ThrowConvertException(OptionError,
"MissingArgument",option);
2429 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2433 if (LocaleCompare(
"quality",option+1) == 0)
2438 if (i == (ssize_t) argc)
2439 ThrowConvertException(OptionError,
"MissingArgument",option);
2440 if (IsGeometry(argv[i]) == MagickFalse)
2441 ThrowConvertInvalidArgumentException(option,argv[i]);
2444 if (LocaleCompare(
"quantize",option+1) == 0)
2452 if (i == (ssize_t) argc)
2453 ThrowConvertException(OptionError,
"MissingArgument",option);
2454 colorspace=ParseCommandOption(MagickColorspaceOptions,
2455 MagickFalse,argv[i]);
2457 ThrowConvertException(OptionError,
"UnrecognizedColorspace",
2461 if (LocaleCompare(
"quiet",option+1) == 0)
2463 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2467 if (LocaleCompare(
"radial-blur",option+1) == 0 ||
2468 LocaleCompare(
"rotational-blur",option+1) == 0)
2471 if (i == (ssize_t) argc)
2472 ThrowConvertException(OptionError,
"MissingArgument",option);
2473 if (IsGeometry(argv[i]) == MagickFalse)
2474 ThrowConvertInvalidArgumentException(option,argv[i]);
2477 if (LocaleCompare(
"raise",option+1) == 0)
2480 if (i == (ssize_t) argc)
2481 ThrowConvertException(OptionError,
"MissingArgument",option);
2482 if (IsGeometry(argv[i]) == MagickFalse)
2483 ThrowConvertInvalidArgumentException(option,argv[i]);
2486 if (LocaleCompare(
"random-threshold",option+1) == 0)
2491 if (i == (ssize_t) argc)
2492 ThrowConvertException(OptionError,
"MissingArgument",option);
2493 if (IsGeometry(argv[i]) == MagickFalse)
2494 ThrowConvertInvalidArgumentException(option,argv[i]);
2497 if (LocaleCompare(
"recolor",option+1) == 0)
2502 if (i == (ssize_t) argc)
2503 ThrowConvertException(OptionError,
"MissingArgument",option);
2504 if (IsGeometry(argv[i]) == MagickFalse)
2505 ThrowConvertInvalidArgumentException(option,argv[i]);
2508 if (LocaleCompare(
"red-primary",option+1) == 0)
2513 if (i == (ssize_t) argc)
2514 ThrowConvertException(OptionError,
"MissingArgument",option);
2515 if (IsGeometry(argv[i]) == MagickFalse)
2516 ThrowConvertInvalidArgumentException(option,argv[i]);
2519 if (LocaleCompare(
"regard-warnings",option+1) == 0)
2521 if (LocaleCompare(
"region",option+1) == 0)
2526 if (i == (ssize_t) argc)
2527 ThrowConvertException(OptionError,
"MissingArgument",option);
2528 if (IsGeometry(argv[i]) == MagickFalse)
2529 ThrowConvertInvalidArgumentException(option,argv[i]);
2532 if (LocaleCompare(
"remap",option+1) == 0)
2537 if (i == (ssize_t) argc)
2538 ThrowConvertException(OptionError,
"MissingArgument",option);
2541 if (LocaleCompare(
"render",option+1) == 0)
2543 if (LocaleCompare(
"repage",option+1) == 0)
2548 if (i == (ssize_t) argc)
2549 ThrowConvertException(OptionError,
"MissingArgument",option);
2550 if (IsGeometry(argv[i]) == MagickFalse)
2551 ThrowConvertInvalidArgumentException(option,argv[i]);
2554 if (LocaleCompare(
"resample",option+1) == 0)
2559 if (i == (ssize_t) argc)
2560 ThrowConvertException(OptionError,
"MissingArgument",option);
2561 if (IsGeometry(argv[i]) == MagickFalse)
2562 ThrowConvertInvalidArgumentException(option,argv[i]);
2565 if (LocaleCompare(
"resize",option+1) == 0)
2570 if (i == (ssize_t) argc)
2571 ThrowConvertException(OptionError,
"MissingArgument",option);
2572 if (IsGeometry(argv[i]) == MagickFalse)
2573 ThrowConvertInvalidArgumentException(option,argv[i]);
2576 if (LocaleNCompare(
"respect-parentheses",option+1,17) == 0)
2578 respect_parenthesis=(*option ==
'-') ? MagickTrue : MagickFalse;
2581 if (LocaleCompare(
"reverse",option+1) == 0)
2583 if (LocaleCompare(
"roll",option+1) == 0)
2588 if (i == (ssize_t) argc)
2589 ThrowConvertException(OptionError,
"MissingArgument",option);
2590 if (IsGeometry(argv[i]) == MagickFalse)
2591 ThrowConvertInvalidArgumentException(option,argv[i]);
2594 if (LocaleCompare(
"rotate",option+1) == 0)
2597 if (i == (ssize_t) argc)
2598 ThrowConvertException(OptionError,
"MissingArgument",option);
2599 if (IsGeometry(argv[i]) == MagickFalse)
2600 ThrowConvertInvalidArgumentException(option,argv[i]);
2603 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2607 if (LocaleCompare(
"sample",option+1) == 0)
2612 if (i == (ssize_t) argc)
2613 ThrowConvertException(OptionError,
"MissingArgument",option);
2614 if (IsGeometry(argv[i]) == MagickFalse)
2615 ThrowConvertInvalidArgumentException(option,argv[i]);
2618 if (LocaleCompare(
"sampling-factor",option+1) == 0)
2623 if (i == (ssize_t) argc)
2624 ThrowConvertException(OptionError,
"MissingArgument",option);
2625 if (IsGeometry(argv[i]) == MagickFalse)
2626 ThrowConvertInvalidArgumentException(option,argv[i]);
2629 if (LocaleCompare(
"scale",option+1) == 0)
2634 if (i == (ssize_t) argc)
2635 ThrowConvertException(OptionError,
"MissingArgument",option);
2636 if (IsGeometry(argv[i]) == MagickFalse)
2637 ThrowConvertInvalidArgumentException(option,argv[i]);
2640 if (LocaleCompare(
"scene",option+1) == 0)
2645 if (i == (ssize_t) argc)
2646 ThrowConvertException(OptionError,
"MissingArgument",option);
2647 if (IsGeometry(argv[i]) == MagickFalse)
2648 ThrowConvertInvalidArgumentException(option,argv[i]);
2651 if (LocaleCompare(
"seed",option+1) == 0)
2656 if (i == (ssize_t) argc)
2657 ThrowConvertException(OptionError,
"MissingArgument",option);
2658 if (IsGeometry(argv[i]) == MagickFalse)
2659 ThrowConvertInvalidArgumentException(option,argv[i]);
2662 if (LocaleCompare(
"segment",option+1) == 0)
2667 if (i == (ssize_t) argc)
2668 ThrowConvertException(OptionError,
"MissingArgument",option);
2669 if (IsGeometry(argv[i]) == MagickFalse)
2670 ThrowConvertInvalidArgumentException(option,argv[i]);
2673 if (LocaleCompare(
"selective-blur",option+1) == 0)
2676 if (i == (ssize_t) argc)
2677 ThrowConvertException(OptionError,
"MissingArgument",option);
2678 if (IsGeometry(argv[i]) == MagickFalse)
2679 ThrowConvertInvalidArgumentException(option,argv[i]);
2682 if (LocaleCompare(
"separate",option+1) == 0)
2684 if (LocaleCompare(
"sepia-tone",option+1) == 0)
2689 if (i == (ssize_t) argc)
2690 ThrowConvertException(OptionError,
"MissingArgument",option);
2691 if (IsGeometry(argv[i]) == MagickFalse)
2692 ThrowConvertInvalidArgumentException(option,argv[i]);
2695 if (LocaleCompare(
"set",option+1) == 0)
2698 if (i == (ssize_t) argc)
2699 ThrowConvertException(OptionError,
"MissingArgument",option);
2703 if (i == (ssize_t) argc)
2704 ThrowConvertException(OptionError,
"MissingArgument",option);
2707 if (LocaleCompare(
"shade",option+1) == 0)
2710 if (i == (ssize_t) argc)
2711 ThrowConvertException(OptionError,
"MissingArgument",option);
2712 if (IsGeometry(argv[i]) == MagickFalse)
2713 ThrowConvertInvalidArgumentException(option,argv[i]);
2716 if (LocaleCompare(
"shadow",option+1) == 0)
2721 if (i == (ssize_t) argc)
2722 ThrowConvertException(OptionError,
"MissingArgument",option);
2723 if (IsGeometry(argv[i]) == MagickFalse)
2724 ThrowConvertInvalidArgumentException(option,argv[i]);
2727 if (LocaleCompare(
"sharpen",option+1) == 0)
2730 if (i == (ssize_t) argc)
2731 ThrowConvertException(OptionError,
"MissingArgument",option);
2732 if (IsGeometry(argv[i]) == MagickFalse)
2733 ThrowConvertInvalidArgumentException(option,argv[i]);
2736 if (LocaleCompare(
"shave",option+1) == 0)
2741 if (i == (ssize_t) argc)
2742 ThrowConvertException(OptionError,
"MissingArgument",option);
2743 if (IsGeometry(argv[i]) == MagickFalse)
2744 ThrowConvertInvalidArgumentException(option,argv[i]);
2747 if (LocaleCompare(
"shear",option+1) == 0)
2750 if (i == (ssize_t) argc)
2751 ThrowConvertException(OptionError,
"MissingArgument",option);
2752 if (IsGeometry(argv[i]) == MagickFalse)
2753 ThrowConvertInvalidArgumentException(option,argv[i]);
2756 if (LocaleCompare(
"sigmoidal-contrast",option+1) == 0)
2759 if (i == (ssize_t) argc)
2760 ThrowConvertException(OptionError,
"MissingArgument",option);
2761 if (IsGeometry(argv[i]) == MagickFalse)
2762 ThrowConvertInvalidArgumentException(option,argv[i]);
2765 if (LocaleCompare(
"size",option+1) == 0)
2770 if (i == (ssize_t) argc)
2771 ThrowConvertException(OptionError,
"MissingArgument",option);
2772 if (IsGeometry(argv[i]) == MagickFalse)
2773 ThrowConvertInvalidArgumentException(option,argv[i]);
2776 if (LocaleCompare(
"sketch",option+1) == 0)
2781 if (i == (ssize_t) argc)
2782 ThrowConvertException(OptionError,
"MissingArgument",option);
2783 if (IsGeometry(argv[i]) == MagickFalse)
2784 ThrowConvertInvalidArgumentException(option,argv[i]);
2787 if (LocaleCompare(
"smush",option+1) == 0)
2790 if (i == (ssize_t) argc)
2791 ThrowConvertException(OptionError,
"MissingArgument",option);
2792 if (IsGeometry(argv[i]) == MagickFalse)
2793 ThrowConvertInvalidArgumentException(option,argv[i]);
2796 if (LocaleCompare(
"solarize",option+1) == 0)
2801 if (i == (ssize_t) argc)
2802 ThrowConvertException(OptionError,
"MissingArgument",option);
2803 if (IsGeometry(argv[i]) == MagickFalse)
2804 ThrowConvertInvalidArgumentException(option,argv[i]);
2807 if (LocaleCompare(
"sparse-color",option+1) == 0)
2813 if (i == (ssize_t) argc)
2814 ThrowConvertException(OptionError,
"MissingArgument",option);
2815 op=ParseCommandOption(MagickSparseColorOptions,MagickFalse,argv[i]);
2817 ThrowConvertException(OptionError,
"UnrecognizedSparseColorMethod",
2820 if (i == (ssize_t) argc)
2821 ThrowConvertException(OptionError,
"MissingArgument",option);
2824 if (LocaleCompare(
"splice",option+1) == 0)
2829 if (i == (ssize_t) argc)
2830 ThrowConvertException(OptionError,
"MissingArgument",option);
2831 if (IsGeometry(argv[i]) == MagickFalse)
2832 ThrowConvertInvalidArgumentException(option,argv[i]);
2835 if (LocaleCompare(
"spread",option+1) == 0)
2840 if ((i == (ssize_t) argc) ||
2841 (IsGeometry(argv[i]) == MagickFalse))
2842 ThrowConvertException(OptionError,
"MissingArgument",option);
2845 if (LocaleCompare(
"statistic",option+1) == 0)
2853 if (i == (ssize_t) argc)
2854 ThrowConvertException(OptionError,
"MissingArgument",option);
2855 op=ParseCommandOption(MagickStatisticOptions,MagickFalse,argv[i]);
2857 ThrowConvertException(OptionError,
"UnrecognizedStatisticType",
2860 if (i == (ssize_t) argc)
2861 ThrowConvertException(OptionError,
"MissingArgument",option);
2862 if (IsGeometry(argv[i]) == MagickFalse)
2863 ThrowConvertInvalidArgumentException(option,argv[i]);
2866 if (LocaleCompare(
"stretch",option+1) == 0)
2874 if (i == (ssize_t) argc)
2875 ThrowConvertException(OptionError,
"MissingArgument",option);
2876 stretch=ParseCommandOption(MagickStretchOptions,MagickFalse,
2879 ThrowConvertException(OptionError,
"UnrecognizedStyleType",
2883 if (LocaleCompare(
"strip",option+1) == 0)
2885 if (LocaleCompare(
"stroke",option+1) == 0)
2890 if (i == (ssize_t) argc)
2891 ThrowConvertException(OptionError,
"MissingArgument",option);
2894 if (LocaleCompare(
"strokewidth",option+1) == 0)
2899 if (i == (ssize_t) argc)
2900 ThrowConvertException(OptionError,
"MissingArgument",option);
2901 if (IsGeometry(argv[i]) == MagickFalse)
2902 ThrowConvertInvalidArgumentException(option,argv[i]);
2905 if (LocaleCompare(
"style",option+1) == 0)
2913 if (i == (ssize_t) argc)
2914 ThrowConvertException(OptionError,
"MissingArgument",option);
2915 style=ParseCommandOption(MagickStyleOptions,MagickFalse,argv[i]);
2917 ThrowConvertException(OptionError,
"UnrecognizedStyleType",
2921 if (LocaleCompare(
"support",option+1) == 0)
2926 if (LocaleCompare(
"swap",option+1) == 0)
2931 if (i == (ssize_t) argc)
2932 ThrowConvertException(OptionError,
"MissingArgument",option);
2933 if (IsGeometry(argv[i]) == MagickFalse)
2934 ThrowConvertInvalidArgumentException(option,argv[i]);
2937 if (LocaleCompare(
"swirl",option+1) == 0)
2942 if (i == (ssize_t) argc)
2943 ThrowConvertException(OptionError,
"MissingArgument",option);
2944 if (IsGeometry(argv[i]) == MagickFalse)
2945 ThrowConvertInvalidArgumentException(option,argv[i]);
2948 if (LocaleCompare(
"synchronize",option+1) == 0)
2950 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
2954 if (LocaleCompare(
"taint",option+1) == 0)
2956 if (LocaleCompare(
"texture",option+1) == 0)
2961 if (i == (ssize_t) argc)
2962 ThrowConvertException(OptionError,
"MissingArgument",option);
2965 if (LocaleCompare(
"thumbnail",option+1) == 0)
2970 if (i == (ssize_t) argc)
2971 ThrowConvertException(OptionError,
"MissingArgument",option);
2972 if (IsGeometry(argv[i]) == MagickFalse)
2973 ThrowConvertInvalidArgumentException(option,argv[i]);
2976 if (LocaleCompare(
"threshold",option+1) == 0)
2981 if (i == (ssize_t) argc)
2982 ThrowConvertException(OptionError,
"MissingArgument",option);
2983 if (IsGeometry(argv[i]) == MagickFalse)
2984 ThrowConvertInvalidArgumentException(option,argv[i]);
2987 if (LocaleCompare(
"tile",option+1) == 0)
2992 if (i == (ssize_t) argc)
2993 ThrowConvertException(OptionError,
"MissingArgument",option);
2996 if (LocaleCompare(
"tile-offset",option+1) == 0)
3001 if (i == (ssize_t) argc)
3002 ThrowConvertException(OptionError,
"MissingArgument",option);
3003 if (IsGeometry(argv[i]) == MagickFalse)
3004 ThrowConvertInvalidArgumentException(option,argv[i]);
3007 if (LocaleCompare(
"tint",option+1) == 0)
3012 if (i == (ssize_t) argc)
3013 ThrowConvertException(OptionError,
"MissingArgument",option);
3014 if (IsGeometry(argv[i]) == MagickFalse)
3015 ThrowConvertInvalidArgumentException(option,argv[i]);
3018 if (LocaleCompare(
"transform",option+1) == 0)
3020 if (LocaleCompare(
"transparent",option+1) == 0)
3023 if (i == (ssize_t) argc)
3024 ThrowConvertException(OptionError,
"MissingArgument",option);
3027 if (LocaleCompare(
"transparent-color",option+1) == 0)
3032 if (i == (ssize_t) argc)
3033 ThrowConvertException(OptionError,
"MissingArgument",option);
3036 if (LocaleCompare(
"transpose",option+1) == 0)
3038 if (LocaleCompare(
"transverse",option+1) == 0)
3040 if (LocaleCompare(
"treedepth",option+1) == 0)
3045 if (i == (ssize_t) argc)
3046 ThrowConvertException(OptionError,
"MissingArgument",option);
3047 if (IsGeometry(argv[i]) == MagickFalse)
3048 ThrowConvertInvalidArgumentException(option,argv[i]);
3051 if (LocaleCompare(
"trim",option+1) == 0)
3053 if (LocaleCompare(
"type",option+1) == 0)
3061 if (i == (ssize_t) argc)
3062 ThrowConvertException(OptionError,
"MissingArgument",option);
3063 type=ParseCommandOption(MagickTypeOptions,MagickFalse,argv[i]);
3065 ThrowConvertException(OptionError,
"UnrecognizedImageType",
3069 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
3073 if (LocaleCompare(
"undercolor",option+1) == 0)
3078 if (i == (ssize_t) argc)
3079 ThrowConvertException(OptionError,
"MissingArgument",option);
3082 if (LocaleCompare(
"unique-colors",option+1) == 0)
3084 if (LocaleCompare(
"units",option+1) == 0)
3092 if (i == (ssize_t) argc)
3093 ThrowConvertException(OptionError,
"MissingArgument",option);
3094 units=ParseCommandOption(MagickResolutionOptions,MagickFalse,
3097 ThrowConvertException(OptionError,
"UnrecognizedUnitsType",
3101 if (LocaleCompare(
"unsharp",option+1) == 0)
3106 if (i == (ssize_t) argc)
3107 ThrowConvertException(OptionError,
"MissingArgument",option);
3108 if (IsGeometry(argv[i]) == MagickFalse)
3109 ThrowConvertInvalidArgumentException(option,argv[i]);
3112 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
3116 if (LocaleCompare(
"verbose",option+1) == 0)
3118 if ((LocaleCompare(
"version",option+1) == 0) ||
3119 (LocaleCompare(
"-version",option+1) == 0))
3121 ListMagickVersion(stdout);
3124 if (LocaleCompare(
"view",option+1) == 0)
3129 if (i == (ssize_t) argc)
3130 ThrowConvertException(OptionError,
"MissingArgument",option);
3133 if (LocaleCompare(
"vignette",option+1) == 0)
3138 if (i == (ssize_t) argc)
3139 ThrowConvertException(OptionError,
"MissingArgument",option);
3140 if (IsGeometry(argv[i]) == MagickFalse)
3141 ThrowConvertInvalidArgumentException(option,argv[i]);
3144 if (LocaleCompare(
"virtual-pixel",option+1) == 0)
3152 if (i == (ssize_t) argc)
3153 ThrowConvertException(OptionError,
"MissingArgument",option);
3154 method=ParseCommandOption(MagickVirtualPixelOptions,MagickFalse,
3157 ThrowConvertException(OptionError,
3158 "UnrecognizedVirtualPixelMethod",argv[i]);
3161 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
3165 if (LocaleCompare(
"wave",option+1) == 0)
3168 if (i == (ssize_t) argc)
3169 ThrowConvertException(OptionError,
"MissingArgument",option);
3170 if (IsGeometry(argv[i]) == MagickFalse)
3171 ThrowConvertInvalidArgumentException(option,argv[i]);
3174 if (LocaleCompare(
"wavelet-denoise",option+1) == 0)
3177 if (i == (ssize_t) argc)
3178 ThrowConvertException(OptionError,
"MissingArgument",option);
3179 if (IsGeometry(argv[i]) == MagickFalse)
3180 ThrowConvertInvalidArgumentException(option,argv[i]);
3183 if (LocaleCompare(
"weight",option+1) == 0)
3188 if (i == (ssize_t) argc)
3189 ThrowConvertException(OptionError,
"MissingArgument",option);
3192 if (LocaleCompare(
"white-point",option+1) == 0)
3197 if (i == (ssize_t) argc)
3198 ThrowConvertException(OptionError,
"MissingArgument",option);
3199 if (IsGeometry(argv[i]) == MagickFalse)
3200 ThrowConvertInvalidArgumentException(option,argv[i]);
3203 if (LocaleCompare(
"white-threshold",option+1) == 0)
3208 if (i == (ssize_t) argc)
3209 ThrowConvertException(OptionError,
"MissingArgument",option);
3210 if (IsGeometry(argv[i]) == MagickFalse)
3211 ThrowConvertInvalidArgumentException(option,argv[i]);
3214 if (LocaleCompare(
"write",option+1) == 0)
3217 if (i == (ssize_t) argc)
3218 ThrowConvertException(OptionError,
"MissingArgument",option);
3221 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
3226 ThrowConvertException(OptionError,
"UnrecognizedOption",option)
3228 fire=(GetCommandOptionFlags(MagickCommandOptions,MagickFalse,option) &
3229 FireOptionFlag) == 0 ? MagickFalse : MagickTrue;
3230 if (fire != MagickFalse)
3231 FireImageStack(MagickTrue,MagickTrue,MagickTrue);
3234 ThrowConvertException(OptionError,
"UnbalancedParenthesis",argv[i]);
3235 if (i-- != ((ssize_t) argc-1))
3236 ThrowConvertException(OptionError,
"MissingAnImageFilename",argv[argc-1]);
3237 FinalizeImageSettings(image_info,image,MagickTrue);
3238 if (image == (Image *) NULL)
3239 ThrowConvertException(OptionError,
"NoImagesDefined",argv[argc-1]);
3240 if (IsCommandOption(argv[argc-1]))
3241 ThrowConvertException(OptionError,
"MissingAnImageFilename",argv[argc-1]);
3242 if (LocaleCompare(
" ",argv[argc-1]) == 0)
3243 ThrowConvertException(OptionError,
"MissingAnImageFilename",argv[argc-1]);
3244 status&=WriteImages(image_info,image,argv[argc-1],exception);
3245 if (metadata != (
char **) NULL)
3250 text=InterpretImageProperties(image_info,image,format);
3251 InheritException(exception,&image->exception);
3252 if (text == (
char *) NULL)
3253 ThrowConvertException(ResourceLimitError,
"MemoryAllocationFailed",
3254 GetExceptionMessage(errno));
3255 (void) ConcatenateString(&(*metadata),text);
3256 text=DestroyString(text);
3259 return(status != 0 ? MagickTrue : MagickFalse);