diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c
index b3441ec..16baf32 100644
--- a/MagickWand/mogrify.c
+++ b/MagickWand/mogrify.c
@@ -1037,6 +1037,16 @@
exception);
break;
}
+ if (LocaleCompare("channel-extract",option+1) == 0)
+ {
+ puts("stand by...");
+ break;
+ }
+ if (LocaleCompare("channel-swap",option+1) == 0)
+ {
+ puts("stand by...");
+ break;
+ }
if (LocaleCompare("charcoal",option+1) == 0)
{
/*
@@ -3255,6 +3265,16 @@
static MagickBooleanType MogrifyUsage(void)
{
static const char
+ *channel_operators[]=
+ {
+ "-channel-extract channel-list",
+ " extract the channels in order",
+ "-channel-inject channel-list",
+ " inject the channels in order",
+ "-channel-swap channel,channel",
+ " swap channels",
+ (char *) NULL
+ },
*miscellaneous[]=
{
"-debug events display copious debugging information",
@@ -3560,6 +3580,9 @@
(void) printf("\nImage Operators:\n");
for (p=operators; *p != (char *) NULL; p++)
(void) printf(" %s\n",*p);
+ (void) printf("\nImage Channel Operators:\n");
+ for (p=channel_operators; *p != (char *) NULL; p++)
+ (void) printf(" %s\n",*p);
(void) printf("\nImage Sequence Operators:\n");
for (p=sequence_operators; *p != (char *) NULL; p++)
(void) printf(" %s\n",*p);
@@ -4025,6 +4048,54 @@
argv[i]);
break;
}
+ if (LocaleCompare("channel-extract",option+1) == 0)
+ {
+ ssize_t
+ channel;
+
+ if (*option == '+')
+ break;
+ i++;
+ if (i == (ssize_t) (argc-1))
+ ThrowMogrifyException(OptionError,"MissingArgument",option);
+ channel=ParseChannelOption(argv[i]);
+ if (channel < 0)
+ ThrowMogrifyException(OptionError,"UnrecognizedChannelType",
+ argv[i]);
+ break;
+ }
+ if (LocaleCompare("channel-inject",option+1) == 0)
+ {
+ ssize_t
+ channel;
+
+ if (*option == '+')
+ break;
+ i++;
+ if (i == (ssize_t) (argc-1))
+ ThrowMogrifyException(OptionError,"MissingArgument",option);
+ channel=ParseChannelOption(argv[i]);
+ if (channel < 0)
+ ThrowMogrifyException(OptionError,"UnrecognizedChannelType",
+ argv[i]);
+ break;
+ }
+ if (LocaleCompare("channel-swap",option+1) == 0)
+ {
+ ssize_t
+ channel;
+
+ if (*option == '+')
+ break;
+ i++;
+ if (i == (ssize_t) (argc-1))
+ ThrowMogrifyException(OptionError,"MissingArgument",option);
+ channel=ParseChannelOption(argv[i]);
+ if (channel < 0)
+ ThrowMogrifyException(OptionError,"UnrecognizedChannelType",
+ argv[i]);
+ break;
+ }
if (LocaleCompare("cdl",option+1) == 0)
{
if (*option == '+')
@@ -7319,6 +7390,11 @@
}
case 'c':
{
+ if (LocaleCompare("channel-inject",option+1) == 0)
+ {
+ puts("stand by...");
+ break;
+ }
if (LocaleCompare("clut",option+1) == 0)
{
Image