]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 17 Nov 2011 13:55:44 +0000 (13:55 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 17 Nov 2011 13:55:44 +0000 (13:55 +0000)
MagickCore/pixel-accessor.h

index ab71d0f40949353dc73e9447df22deb4fe5c94fa..e4c0203171d66bcd53f0edfa0a936681c58ecadd 100644 (file)
@@ -565,11 +565,14 @@ static inline void SetPixelInfoPixel(const Image *restrict image,
     ClampToQuantum(pixel_info->green);
   pixel[image->channel_map[BluePixelChannel].channel]=
     ClampToQuantum(pixel_info->blue);
-  if (image->colorspace == CMYKColorspace)
+  if ((image->channel_map[BlackPixelChannel].traits != UndefinedPixelTrait) &&
+      (image->colorspace == CMYKColorspace) &&
+      (pixel_info->colorspace == CMYKColorspace))
     pixel[image->channel_map[BlackPixelChannel].channel]=
       ClampToQuantum(pixel_info->black);
   if (image->channel_map[AlphaPixelChannel].traits != UndefinedPixelTrait)
     pixel[image->channel_map[AlphaPixelChannel].channel]=
+      pixel_info->matte == MagickFalse ? OpaqueAlpha :
       ClampToQuantum(pixel_info->alpha);
 }