From fb9a8d5f2287eac1fbf4ef4ab09a7ed05f049d01 Mon Sep 17 00:00:00 2001 From: Cristy Date: Fri, 3 Feb 2017 15:33:27 -0500 Subject: [PATCH] ... --- MagickCore/channel.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/MagickCore/channel.c b/MagickCore/channel.c index ca3811a0a..4c2decc43 100644 --- a/MagickCore/channel.c +++ b/MagickCore/channel.c @@ -356,6 +356,40 @@ MagickExport Image *ChannelFxImage(const Image *image,const char *expression, (void) SetPixelMetaChannels(destination_image,(size_t) ( destination_channel-GetPixelChannels(destination_image)+1), exception); + if (image->colorspace != UndefinedColorspace) + switch (destination_channel) + { + case RedPixelChannel: + case GreenPixelChannel: + case BluePixelChannel: + case BlackPixelChannel: + case IndexPixelChannel: + break; + case AlphaPixelChannel: + { + if (image->colorspace != UndefinedColorspace) + destination_image->alpha_trait=BlendPixelTrait; + break; + } + case ReadMaskPixelChannel: + { + destination_image->read_mask=MagickTrue; + break; + } + case WriteMaskPixelChannel: + { + destination_image->write_mask=MagickTrue; + break; + } + case MetaPixelChannel: + default: + { + (void) SetPixelMetaChannels(destination_image,(size_t) ( + destination_channel-GetPixelChannels(destination_image)+1), + exception); + break; + } + } channel_mask=(ChannelType) (channel_mask | ParseChannelOption(token)); if (((channels >= 1) || (destination_channel >= 1)) && (IsGrayColorspace(destination_image->colorspace) != MagickFalse)) -- 2.40.0