]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Sun, 27 Nov 2016 00:00:03 +0000 (19:00 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sun, 27 Nov 2016 00:00:03 +0000 (19:00 -0500)
20 files changed:
MagickCore/attribute.c
MagickCore/channel.c
MagickCore/composite.c
MagickCore/decorate.c
MagickCore/effect.c
MagickCore/enhance.c
MagickCore/fx.c
MagickCore/image.c
MagickCore/morphology.c
MagickCore/paint.c
MagickCore/quantum-export.c
MagickCore/quantum-import.c
MagickCore/resize.c
MagickCore/shear.c
MagickCore/signature.c
MagickCore/threshold.c
MagickCore/transform.c
MagickWand/compare.c
MagickWand/mogrify.c
MagickWand/operation.c

index b76ff01a322a2ba7ce520880872c95a4f5e8ad3d..717e7f6901903e40bd80d5421ec9153debf79930 100644 (file)
@@ -407,7 +407,7 @@ MagickExport size_t GetImageDepth(const Image *image,ExceptionInfo *exception)
           continue;
         for (x=0; x < (ssize_t) image->columns; x++)
         {
-          if (GetPixelReadMask(image,p) == 0)
+          if (GetPixelWriteMask(image,p) == QuantumRange)
             {
               p+=GetPixelChannels(image);
               continue;
@@ -464,7 +464,7 @@ MagickExport size_t GetImageDepth(const Image *image,ExceptionInfo *exception)
       continue;
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           p+=GetPixelChannels(image);
           continue;
@@ -1094,7 +1094,7 @@ MagickExport MagickBooleanType SetImageDepth(Image *image,
           register ssize_t
             i;
 
-          if (GetPixelReadMask(image,q) == 0)
+          if (GetPixelWriteMask(image,q) == QuantumRange)
             {
               q+=GetPixelChannels(image);
               continue;
@@ -1158,7 +1158,7 @@ MagickExport MagickBooleanType SetImageDepth(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
index 59cef665d0a21f04095ebf9932713599ea4e6f68..dcc0155118dd602e1b8133b128f9b58f8f4df582 100644 (file)
@@ -754,7 +754,7 @@ MagickExport Image *SeparateImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(separate_image,q);
           p+=GetPixelChannels(image);
@@ -1009,7 +1009,7 @@ MagickExport MagickBooleanType SetImageAlphaChannel(Image *image,
           register ssize_t
             i;
 
-          if (GetPixelReadMask(image,q) == 0)
+          if (GetPixelWriteMask(image,q) == QuantumRange)
             {
               q+=GetPixelChannels(image);
               continue;
@@ -1138,7 +1138,7 @@ MagickExport MagickBooleanType SetImageAlphaChannel(Image *image,
           register ssize_t
             i;
 
-          if (GetPixelReadMask(image,q) == 0)
+          if (GetPixelWriteMask(image,q) == QuantumRange)
             {
               q+=GetPixelChannels(image);
               continue;
@@ -1281,7 +1281,7 @@ MagickExport MagickBooleanType SetImageAlphaChannel(Image *image,
           }
         for (x=0; x < (ssize_t) image->columns; x++)
         {
-          if (GetPixelReadMask(image,q) == 0)
+          if (GetPixelWriteMask(image,q) == QuantumRange)
             {
               q+=GetPixelChannels(image);
               continue;
index ac80ad9c876159059aea6174e4dba20bc701a2bd..64e6495019c1a6897a8c64745c5b916e88042df4 100644 (file)
@@ -400,7 +400,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
           register ssize_t
             i;
 
-          if (GetPixelReadMask(source_image,p) == 0)
+          if (GetPixelWriteMask(source_image,p) == QuantumRange)
             {
               p+=GetPixelChannels(source_image);
               q+=GetPixelChannels(image);
@@ -486,7 +486,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
           }
         for (x=0; x < (ssize_t) source_image->columns; x++)
         {
-          if (GetPixelReadMask(source_image,p) == 0)
+          if (GetPixelWriteMask(source_image,p) == QuantumRange)
             {
               p+=GetPixelChannels(source_image);
               q+=GetPixelChannels(image);
@@ -1082,7 +1082,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
           */
           (void) GetOneVirtualPixel(source_image,x-x_offset,y-y_offset,source,
             exception);
-          if (GetPixelReadMask(image,q) == 0)
+          if (GetPixelWriteMask(image,q) == QuantumRange)
             {
               q+=GetPixelChannels(image);
               continue;
@@ -1241,7 +1241,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
           break;
         }
       }
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           p+=GetPixelChannels(source_image);
           q+=GetPixelChannels(image);
@@ -2244,7 +2244,7 @@ MagickExport MagickBooleanType TextureImage(Image *image,const Image *texture,
         register ssize_t
           i;
 
-        if (GetPixelReadMask(image,q) == 0)
+        if (GetPixelWriteMask(image,q) == QuantumRange)
           {
             p+=GetPixelChannels(texture_image);
             q+=GetPixelChannels(image);
index a0ccca8761fc07aaae3a57bb70e8d9e377f3e852..30b4d8406f87ffd54e605cd23194a81321dae43b 100644 (file)
@@ -441,7 +441,7 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info,
         register ssize_t
           i;
 
-        if (GetPixelReadMask(image,q) == 0)
+        if (GetPixelWriteMask(image,q) == QuantumRange)
           {
             SetPixelBackgoundColor(frame_image,q);
             p+=GetPixelChannels(image);
@@ -714,7 +714,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < y; x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -732,7 +732,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
     }
     for ( ; x < (ssize_t) (image->columns-y); x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -750,7 +750,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
     }
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -804,7 +804,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < (ssize_t) raise_info->width; x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -824,7 +824,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       q+=GetPixelChannels(image);
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -878,7 +878,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
       }
     for (x=0; x < (ssize_t) (image->rows-y); x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -909,7 +909,7 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
     }
     for ( ; x < (ssize_t) image->columns; x++)
     {
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
index 5a33212fb776b6cc8162c49f47d9bab53067667d..f182e6d9625115e2f17224722770be9ada230a6f 100644 (file)
@@ -336,7 +336,7 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius,
             (blur_traits == UndefinedPixelTrait))
           continue;
         if (((blur_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -657,7 +657,7 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius,
             (sharp_traits == UndefinedPixelTrait))
           continue;
         if (((sharp_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           {
             SetPixelChannel(sharp_image,channel,p[center+i],q);
             continue;
@@ -2136,7 +2136,7 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius,
             (blur_traits == UndefinedPixelTrait))
           continue;
         if (((blur_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(blur_image,channel,p[i],q);
             continue;
@@ -2935,7 +2935,7 @@ MagickExport Image *RotationalBlurImage(const Image *image,const double angle,
             (blur_traits == UndefinedPixelTrait))
           continue;
         if (((blur_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(blur_image,channel,p[i],q);
             continue;
@@ -3249,7 +3249,7 @@ MagickExport Image *SelectiveBlurImage(const Image *image,const double radius,
             (blur_traits == UndefinedPixelTrait))
           continue;
         if (((blur_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -3541,7 +3541,7 @@ MagickExport Image *ShadeImage(const Image *image,const MagickBooleanType gray,
             (shade_traits == UndefinedPixelTrait))
           continue;
         if (((shade_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(linear_image,center) == 0))
+            (GetPixelWriteMask(linear_image,center) == QuantumRange))
           {
             SetPixelChannel(shade_image,channel,center[i],q);
             continue;
@@ -3982,7 +3982,7 @@ MagickExport Image *UnsharpMaskImage(const Image *image,const double radius,
             (unsharp_traits == UndefinedPixelTrait))
           continue;
         if (((unsharp_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(unsharp_image,channel,p[i],q);
             continue;
index f74ed80b1e535c2687a29a026a67eece2d4832fa..16b35151c915784edb88c319bb192d51f8e0c71e 100644 (file)
@@ -379,7 +379,7 @@ MagickExport MagickBooleanType ClutImage(Image *image,const Image *clut_image,
       PixelTrait
         traits;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1233,7 +1233,7 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1415,7 +1415,7 @@ MagickExport Image *EnhanceImage(const Image *image,ExceptionInfo *exception)
       register const Quantum
         *magick_restrict r;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(enhance_image,q);
           p+=GetPixelChannels(image);
@@ -1703,7 +1703,7 @@ MagickExport MagickBooleanType EqualizeImage(Image *image,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1885,7 +1885,7 @@ MagickExport MagickBooleanType GammaImage(Image *image,const double gamma,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -2024,7 +2024,7 @@ MagickExport MagickBooleanType GrayscaleImage(Image *image,
         red,
         intensity;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -2458,7 +2458,7 @@ MagickExport MagickBooleanType LevelImage(Image *image,const double black_point,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -2614,7 +2614,7 @@ MagickExport MagickBooleanType LevelizeImage(Image *image,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -3317,7 +3317,7 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
         green,
         red;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -3504,7 +3504,7 @@ MagickExport MagickBooleanType NegateImage(Image *image,
           register ssize_t
             j;
 
-          if ((GetPixelReadMask(image,q) == 0) ||
+          if ((GetPixelWriteMask(image,q) == QuantumRange) ||
               IsPixelGray(image,q) != MagickFalse)
             {
               q+=GetPixelChannels(image);
@@ -3568,7 +3568,7 @@ MagickExport MagickBooleanType NegateImage(Image *image,
       register ssize_t
         j;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -3872,7 +3872,7 @@ MagickExport MagickBooleanType SigmoidalContrastImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
index 869b07bd2f11b46498f93ce3fb707b5eceafd607..b06d3cd3818f7e2724b385dac869c1ed4f96bc4f 100644 (file)
@@ -372,7 +372,7 @@ MagickExport Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
             (noise_traits == UndefinedPixelTrait))
           continue;
         if (((noise_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(noise_image,channel,p[i],q);
             continue;
@@ -780,7 +780,7 @@ MagickExport Image *ColorizeImage(const Image *image,const char *blend,
         if (traits == UndefinedPixelTrait)
           continue;
         if (((traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(colorize_image,q) == 0))
+            (GetPixelWriteMask(colorize_image,q) == QuantumRange))
           continue;
         SetPixelChannel(colorize_image,(PixelChannel) i,ClampToQuantum(
           Colorize(q[i],GetPixelInfoChannel(&blend_percentage,(PixelChannel) i),
@@ -3170,7 +3170,7 @@ MagickExport Image *FxImage(const Image *image,const char *expression,
             (fx_traits == UndefinedPixelTrait))
           continue;
         if (((fx_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(fx_image,channel,p[i],q);
             continue;
@@ -3356,7 +3356,7 @@ MagickExport Image *ImplodeImage(const Image *image,const double amount,
       /*
         Determine if the pixel is within an ellipse.
       */
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(implode_image,q);
           p+=GetPixelChannels(image);
@@ -3600,7 +3600,7 @@ MagickExport Image *MorphImages(const Image *image,const size_t number_frames,
                 (morph_traits == UndefinedPixelTrait))
               continue;
             if (((morph_traits & CopyPixelTrait) != 0) ||
-                (GetPixelReadMask(morph_images,p) == 0))
+                (GetPixelWriteMask(morph_images,p) == QuantumRange))
               {
                 SetPixelChannel(morph_image,channel,p[i],q);
                 continue;
@@ -4547,7 +4547,7 @@ MagickExport Image *SketchImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(random_image,q) == 0)
+      if (GetPixelWriteMask(random_image,q) == QuantumRange)
         {
           q+=GetPixelChannels(random_image);
           continue;
@@ -4711,7 +4711,7 @@ MagickExport MagickBooleanType SolarizeImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -5201,7 +5201,7 @@ MagickExport Image *SwirlImage(const Image *image,double degrees,
       /*
         Determine if the pixel is within an ellipse.
       */
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(swirl_image,q);
           p+=GetPixelChannels(image);
@@ -5437,7 +5437,7 @@ MagickExport Image *TintImage(const Image *image,const char *blend,
             (tint_traits == UndefinedPixelTrait))
           continue;
         if (((tint_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(tint_image,channel,p[i],q);
             continue;
index 4ad6084e864a1dfb61931585f74b7a6d4d5f52cb..89905349e7428f7343f0e730db7608498ecbdb03 100644 (file)
@@ -576,7 +576,7 @@ MagickExport Image *AppendImages(const Image *images,
       GetPixelInfo(next,&pixel);
       for (x=0; x < (ssize_t) next->columns; x++)
       {
-        if (GetPixelReadMask(next,p) == 0)
+        if (GetPixelWriteMask(next,p) == QuantumRange)
           {
             SetPixelBackgoundColor(append_image,q);
             p+=GetPixelChannels(next);
@@ -1818,7 +1818,7 @@ MagickExport MagickBooleanType IsHighDynamicRangeImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           p+=GetPixelChannels(image);
           continue;
@@ -2970,7 +2970,7 @@ MagickExport MagickBooleanType SetImageAlpha(Image *image,const Quantum alpha,
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if (GetPixelReadMask(image,q) != 0)
+      if (GetPixelWriteMask(image,q) != QuantumRange)
         SetPixelAlpha(image,alpha,q);
       q+=GetPixelChannels(image);
     }
index 9f4a7b79038f820d82a2c1f68326c08b6382cd77..67cb64b95686162f3df99c4fca60395268306376 100644 (file)
@@ -2712,7 +2712,7 @@ static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image,
                 (morphology_traits == UndefinedPixelTrait))
               continue;
             if (((traits & CopyPixelTrait) != 0) ||
-                (GetPixelReadMask(image,p+center) == 0))
+                (GetPixelWriteMask(image,p+center) == QuantumRange))
               {
                 SetPixelChannel(morphology_image,channel,p[center+i],q);
                 continue;
@@ -2863,7 +2863,7 @@ static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image,
             (morphology_traits == UndefinedPixelTrait))
           continue;
         if (((traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           {
             SetPixelChannel(morphology_image,channel,p[center+i],q);
             continue;
@@ -3344,7 +3344,7 @@ static ssize_t MorphologyPrimitiveDirect(Image *image,
         if (traits == UndefinedPixelTrait)
           continue;
         if (((traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           continue;
         pixels=p;
         pixel=(double) QuantumRange;
@@ -3505,7 +3505,7 @@ static ssize_t MorphologyPrimitiveDirect(Image *image,
         if (traits == UndefinedPixelTrait)
           continue;
         if (((traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p+center) == 0))
+            (GetPixelWriteMask(image,p+center) == QuantumRange))
           continue;
         pixels=p;
         pixel=(double) QuantumRange;
index 1a1125a37b201d73e371769380092cef68ea2b89..fe62bb80fcd4847c9ad2cc8fb8dbbe7d6ec88066 100644 (file)
@@ -830,7 +830,7 @@ MagickExport Image *OilPaintImage(const Image *image,const double radius,
             (paint_traits == UndefinedPixelTrait))
           continue;
         if (((paint_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(linear_image,p) == 0))
+            (GetPixelWriteMask(linear_image,p) == QuantumRange))
           {
             SetPixelChannel(paint_image,channel,p[center+i],q);
             continue;
@@ -971,6 +971,11 @@ MagickExport MagickBooleanType OpaquePaintImage(Image *image,
     pixel=zero;
     for (x=0; x < (ssize_t) image->columns; x++)
     {
+      if (GetPixelWriteMask(image,q) == QuantumRange)
+        {
+          q+=GetPixelChannels(image);
+          continue;
+        }
       GetPixelInfoPixel(image,q,&pixel);
       if (IsFuzzyEquivalencePixelInfo(&pixel,&conform_target) != invert)
         SetPixelViaPixelInfo(image,&conform_fill,q);
index 0f831597592fb541982e54875d121242680c88f9..8e5568bda7348e08ee37b5bdc8ab3387bc8c5aa8 100644 (file)
@@ -3920,7 +3920,7 @@ MagickExport size_t ExportQuantumPixels(const Image *image,
         register ssize_t
           i;
 
-        if (GetPixelReadMask(image,q) == 0)
+        if (GetPixelWriteMask(image,q) == QuantumRange)
           {
             q+=GetPixelChannels(image);
             continue;
index b3cdc7dc3263ef74b816c7da107953f55309ab30..75bd06c0f54da34de85d19abf2c6ef2ea6ede0d8 100644 (file)
@@ -4280,7 +4280,7 @@ MagickExport size_t ImportQuantumPixels(const Image *image,
         register ssize_t
           i;
 
-        if (GetPixelReadMask(image,q) == 0)
+        if (GetPixelWriteMask(image,q) == QuantumRange)
           {
             q+=GetPixelChannels(image);
             continue;
index d48cf88bca770bf0217ad0c8b461168162fa3d8c..508d0c37b865607cabecf41056741c8c54b8c143 100644 (file)
@@ -1741,7 +1741,7 @@ MagickExport Image *InterpolativeResizeImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(resize_image,q) == 0)
+      if (GetPixelWriteMask(resize_image,q) == QuantumRange)
         {
           q+=GetPixelChannels(resize_image);
           continue;
@@ -2538,7 +2538,7 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter,
             (resize_traits == UndefinedPixelTrait))
           continue;
         if (((resize_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(resize_image,q) == 0))
+            (GetPixelWriteMask(resize_image,q) == QuantumRange))
           {
             j=(ssize_t) (MagickMin(MagickMax(bisect,(double) start),(double)
               stop-1.0)+0.5);
@@ -2754,7 +2754,7 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter,
             (resize_traits == UndefinedPixelTrait))
           continue;
         if (((resize_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(resize_image,q) == 0))
+            (GetPixelWriteMask(resize_image,q) == QuantumRange))
           {
             j=(ssize_t) (MagickMin(MagickMax(bisect,(double) start),(double)
               stop-1.0)+0.5);
@@ -3089,7 +3089,7 @@ MagickExport Image *SampleImage(const Image *image,const size_t columns,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(sample_image,q) == 0)
+      if (GetPixelWriteMask(sample_image,q) == QuantumRange)
         {
           q+=GetPixelChannels(sample_image);
           continue;
@@ -3302,7 +3302,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns,
           }
         for (x=0; x < (ssize_t) image->columns; x++)
         {
-          if (GetPixelReadMask(image,p) == 0)
+          if (GetPixelWriteMask(image,p) == QuantumRange)
             {
               p+=GetPixelChannels(image);
               continue;
@@ -3345,7 +3345,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns,
                 }
               for (x=0; x < (ssize_t) image->columns; x++)
               {
-                if (GetPixelReadMask(image,p) == 0)
+                if (GetPixelWriteMask(image,p) == QuantumRange)
                   {
                     p+=GetPixelChannels(image);
                     continue;
@@ -3389,7 +3389,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns,
               }
             for (x=0; x < (ssize_t) image->columns; x++)
             {
-              if (GetPixelReadMask(image,p) == 0)
+              if (GetPixelWriteMask(image,p) == QuantumRange)
                 {
                   p+=GetPixelChannels(image);
                   continue;
@@ -3437,7 +3437,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns,
         */
         for (x=0; x < (ssize_t) scale_image->columns; x++)
         {
-          if (GetPixelReadMask(scale_image,q) == 0)
+          if (GetPixelWriteMask(scale_image,q) == QuantumRange)
             {
               q+=GetPixelChannels(scale_image);
               continue;
@@ -3533,7 +3533,7 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns,
       */
       for (x=0; x < (ssize_t) scale_image->columns; x++)
       {
-        if (GetPixelReadMask(scale_image,q) == 0)
+        if (GetPixelWriteMask(scale_image,q) == QuantumRange)
           {
             q+=GetPixelChannels(scale_image);
             continue;
index 5d866b9ebaa48d1c9f1ebfa08cc24ba1b23080f2..d5600610d3f03053857f1a04e69211cd4cad27da 100644 (file)
@@ -830,7 +830,7 @@ MagickExport Image *IntegralRotateImage(const Image *image,size_t rotations,
               register ssize_t
                 i;
 
-              if (GetPixelReadMask(image,tile_pixels) == 0)
+              if (GetPixelWriteMask(image,tile_pixels) == QuantumRange)
                 {
                   tile_pixels-=width*GetPixelChannels(image);
                   q+=GetPixelChannels(rotate_image);
@@ -920,7 +920,7 @@ MagickExport Image *IntegralRotateImage(const Image *image,size_t rotations,
             i;
 
           q-=GetPixelChannels(rotate_image);
-          if (GetPixelReadMask(image,p) == 0)
+          if (GetPixelWriteMask(image,p) == QuantumRange)
             {
               p+=GetPixelChannels(image);
               continue;
@@ -1043,7 +1043,7 @@ MagickExport Image *IntegralRotateImage(const Image *image,size_t rotations,
               register ssize_t
                 i;
 
-              if (GetPixelReadMask(image,tile_pixels) == 0)
+              if (GetPixelWriteMask(image,tile_pixels) == QuantumRange)
                 {
                   tile_pixels+=width*GetPixelChannels(image);
                   q+=GetPixelChannels(rotate_image);
index 7051dbb383cedacb96acf1fc0605b2f41fad3adb..c0d803df1699269e61aa0a4fc5681a7589fae87a 100644 (file)
@@ -520,7 +520,7 @@ MagickExport MagickBooleanType SignatureImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           p+=GetPixelChannels(image);
           continue;
index a23b832f50165b08dd86d82e6be1facffe73659d..8f8c1fa4323906807ce5c7b8a6abc0b3a3eda074 100644 (file)
@@ -274,7 +274,7 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image,
           (threshold_traits == UndefinedPixelTrait))
         continue;
       if (((threshold_traits & CopyPixelTrait) != 0) ||
-          (GetPixelReadMask(image,p) == 0))
+          (GetPixelWriteMask(image,p) == QuantumRange))
         {
           SetPixelChannel(threshold_image,channel,p[center+i],q);
           continue;
@@ -309,7 +309,7 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image,
             (threshold_traits == UndefinedPixelTrait))
           continue;
         if (((threshold_traits & CopyPixelTrait) != 0) ||
-            (GetPixelReadMask(image,p) == 0))
+            (GetPixelWriteMask(image,p) == QuantumRange))
           {
             SetPixelChannel(threshold_image,channel,p[center+i],q);
             continue;
@@ -455,7 +455,7 @@ MagickExport MagickBooleanType BilevelImage(Image *image,const double threshold,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -620,7 +620,7 @@ MagickExport MagickBooleanType BlackThresholdImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -756,7 +756,7 @@ MagickExport MagickBooleanType ClampImage(Image *image,ExceptionInfo *exception)
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1397,7 +1397,7 @@ MagickExport MagickBooleanType OrderedDitherImage(Image *image,
         n;
 
       n=0;
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1564,7 +1564,7 @@ MagickExport MagickBooleanType PerceptibleImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1701,7 +1701,7 @@ MagickExport MagickBooleanType RandomThresholdImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
@@ -1875,7 +1875,7 @@ MagickExport MagickBooleanType WhiteThresholdImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           q+=GetPixelChannels(image);
           continue;
index 68fdcfd57bac9812ae00e46a038d03858b3116ed..fac4b08ef3deb5bbcc8228a1c1e980ed9268a6b4 100644 (file)
@@ -697,7 +697,7 @@ MagickExport Image *CropImage(const Image *image,const RectangleInfo *geometry,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(crop_image,q);
           p+=GetPixelChannels(image);
@@ -1050,7 +1050,7 @@ MagickExport Image *ExcerptImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(excerpt_image,q);
           p+=GetPixelChannels(image);
@@ -1248,7 +1248,7 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception)
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(flip_image,q);
           p+=GetPixelChannels(image);
@@ -1391,7 +1391,7 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception)
         i;
 
       q-=GetPixelChannels(flop_image);
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           p+=GetPixelChannels(image);
           continue;
@@ -1517,7 +1517,7 @@ static MagickBooleanType CopyImageRegion(Image *destination,const Image *source,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(source,p) == 0)
+      if (GetPixelWriteMask(source,p) == QuantumRange)
         {
           SetPixelBackgoundColor(destination,q);
           p+=GetPixelChannels(source);
@@ -1845,7 +1845,7 @@ MagickExport Image *SpliceImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(splice_image,q);
           p+=GetPixelChannels(image);
@@ -1876,7 +1876,7 @@ MagickExport Image *SpliceImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           SetPixelBackgoundColor(splice_image,q);
           p+=GetPixelChannels(image);
@@ -1950,7 +1950,7 @@ MagickExport Image *SpliceImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           SetPixelBackgoundColor(splice_image,q);
           p+=GetPixelChannels(image);
@@ -1981,7 +1981,7 @@ MagickExport Image *SpliceImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           SetPixelBackgoundColor(splice_image,q);
           p+=GetPixelChannels(image);
@@ -2224,7 +2224,7 @@ MagickExport Image *TransposeImage(const Image *image,ExceptionInfo *exception)
       register ssize_t
         i;
 
-      if (GetPixelReadMask(image,q) == 0)
+      if (GetPixelWriteMask(image,q) == QuantumRange)
         {
           SetPixelBackgoundColor(transpose_image,q);
           p+=GetPixelChannels(image);
@@ -2373,7 +2373,7 @@ MagickExport Image *TransverseImage(const Image *image,ExceptionInfo *exception)
         i;
 
       q-=GetPixelChannels(transverse_image);
-      if (GetPixelReadMask(image,p) == 0)
+      if (GetPixelWriteMask(image,p) == QuantumRange)
         {
           p+=GetPixelChannels(image);
           continue;
index cb57c45129f8ec10d35bfe8a2fb64b5eb12ca043..9d5ed53b1810d09057e867226f7a49686b7ca71a 100644 (file)
@@ -124,6 +124,7 @@ static MagickBooleanType CompareUsage(void)
       "                     de-emphasize pixel differences with this color",
       "-metric type         measure differences between images with this metric",
       "-monitor             monitor progress",
+      "-negate              replace every pixel with its complementary color ",
       "-profile filename    add, delete, or apply an image profile",
       "-quality value       JPEG/MIFF/PNG compression level",
       "-quiet               suppress all warning messages",
@@ -729,6 +730,12 @@ WandExport MagickBooleanType CompareImagesCommand(ImageInfo *image_info,
           break;
         ThrowCompareException(OptionError,"UnrecognizedOption",option)
       }
+      case 'n':
+      {
+        if (LocaleCompare("negate",option+1) == 0)
+          break;
+        ThrowCompareException(OptionError,"UnrecognizedOption",option)
+      }
       case 'p':
       {
         if (LocaleCompare("profile",option+1) == 0)
index 63bfc5d09850b671c74e0ce1c2cd6c1ad3ebb132..9ce3f272638d07fbd66c5468282a5b6ab588108d 100644 (file)
@@ -2132,7 +2132,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
                 /*
                   Remove a mask.
                 */
-                (void) SetImageMask(*image,ReadPixelMask,(Image *) NULL,
+                (void) SetImageMask(*image,WritePixelMask,(Image *) NULL,
                   exception);
                 break;
               }
@@ -2142,7 +2142,7 @@ WandExport MagickBooleanType MogrifyImage(ImageInfo *image_info,const int argc,
             mask=GetImageCache(mogrify_info,argv[i+1],exception);
             if (mask == (Image *) NULL)
               break;
-            (void) SetImageMask(*image,ReadPixelMask,mask,exception);
+            (void) SetImageMask(*image,WritePixelMask,mask,exception);
             mask=DestroyImage(mask);
             break;
           }
index c675deeb24b3ed49b5d3548b6fae1852ba429b6e..dcf7a4c84a39897880e0ae0e8a0adfe4d978bbd0 100644 (file)
@@ -2732,8 +2732,8 @@ static MagickBooleanType CLISimpleOperatorImage(MagickCLI *cli_wand,
         }
       if (LocaleCompare("mask",option+1) == 0)
         {
-          CLIWandWarnReplaced("-read-mask");
-          (void) CLISimpleOperatorImage(cli_wand,"-read-mask",NULL,NULL,
+          CLIWandWarnReplaced("-write-mask");
+          (void) CLISimpleOperatorImage(cli_wand,"-write-mask",NULL,NULL,
             exception);
           break;
         }