]> granicus.if.org Git - imagemagick/commitdiff
The -clip option no longer returns an inverted mask
authorCristy <urban-warrior@imagemagick.org>
Sat, 21 Nov 2015 02:11:22 +0000 (21:11 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sat, 21 Nov 2015 02:11:22 +0000 (21:11 -0500)
MagickCore/image.c

index 1f6d36c1dcc9200875e16906a99a5b81ade0e0d1..760d1363786c5ca8403be4d5289e05d9b9969407 100644 (file)
@@ -1448,9 +1448,9 @@ MagickExport Image *GetImageMask(const Image *image,ExceptionInfo *exception)
   if (mask_image == (Image *) NULL)
     return((Image *) NULL);
   status=MagickTrue;
-  mask_image->read_mask=MagickFalse;
   mask_image->alpha_trait=UndefinedPixelTrait;
   (void) SetImageColorspace(mask_image,GRAYColorspace,exception);
+  mask_image->read_mask=MagickFalse;
   image_view=AcquireVirtualCacheView(image,exception);
   mask_view=AcquireAuthenticCacheView(mask_image,exception);
   for (y=0; y < (ssize_t) image->rows; y++)
@@ -2976,16 +2976,20 @@ MagickExport MagickBooleanType SetImageMask(Image *image,const PixelMask type,
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
+      MagickRealType
+        intensity;
+
+      intensity=GetPixelIntensity(mask,p);
       switch (type)
       {
         case WritePixelMask:
         {
-          SetPixelWriteMask(image,ClampToQuantum(GetPixelIntensity(mask,p)),q);
+          SetPixelWriteMask(image,ClampToQuantum(QuantumRange-intensity),q);
           break;
         }
         default:
         {
-          SetPixelReadMask(image,ClampToQuantum(GetPixelIntensity(mask,p)),q);
+          SetPixelReadMask(image,ClampToQuantum(QuantumRange-intensity),q);
           break;
         }
       }