]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Tue, 16 Apr 2013 11:16:19 +0000 (11:16 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Tue, 16 Apr 2013 11:16:19 +0000 (11:16 +0000)
MagickCore/channel.c

index 0d829c3ea297ff29191fa32b7d7ecb6bfa091123..cc784fdecbbffbb9b121f506e767489076aee9f9 100644 (file)
@@ -638,8 +638,8 @@ MagickExport Image *SeparateImage(const Image *image,
       separate_image=DestroyImage(separate_image);
       return((Image *) NULL);
     }
-  separate_image->alpha_trait=UndefinedPixelTrait;
   (void) SetImageColorspace(separate_image,GRAYColorspace,exception);
+  separate_image->alpha_trait=UndefinedPixelTrait;
   /*
     Separate image.
   */
@@ -686,19 +686,12 @@ MagickExport Image *SeparateImage(const Image *image,
       SetPixelChannel(separate_image,GrayPixelChannel,0,q);
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
-        double
-          pixel;
-
         PixelChannel channel=GetPixelChannelChannel(image,i);
         PixelTrait traits=GetPixelChannelTraits(image,channel);
         if ((traits == UndefinedPixelTrait) ||
             (GetChannelBit(channel_type,channel) == 0))
           continue;
-        pixel=p[i];
-        if (IssRGBColorspace(image->colorspace) != MagickFalse)
-          pixel=DecodePixelGamma(pixel);
-        SetPixelChannel(separate_image,GrayPixelChannel,ClampToQuantum(pixel),
-          q);
+        SetPixelChannel(separate_image,GrayPixelChannel,p[i],q);
       }
       p+=GetPixelChannels(image);
       q+=GetPixelChannels(separate_image);