]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 10 Aug 2012 23:10:56 +0000 (23:10 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 10 Aug 2012 23:10:56 +0000 (23:10 +0000)
MagickCore/compare.c
MagickCore/decorate.c
MagickCore/effect.c
MagickCore/fx.c
MagickCore/paint.c
MagickCore/resize.c
MagickCore/statistic.c
MagickCore/threshold.c

index ec192d5f20d33ed73ef55581abb75f80c13ff2f9..a641e348933620b14446e0fd07e20da5bfb7c4ce 100644 (file)
@@ -245,8 +245,7 @@ MagickExport Image *CompareImages(Image *image,const Image *reconstruct_image,
             (reconstruct_traits == UndefinedPixelTrait) ||
             ((reconstruct_traits & UpdatePixelTrait) == 0))
           continue;
-        distance=p[i]-(double) GetPixelChannel(reconstruct_image,
-          channel,q);
+        distance=p[i]-(double) GetPixelChannel(reconstruct_image,channel,q);
         if (fabs((double) distance) >= MagickEpsilon)
           difference=MagickTrue;
       }
@@ -509,8 +508,8 @@ static MagickBooleanType GetFuzzDistortion(const Image *image,
             (reconstruct_traits == UndefinedPixelTrait) ||
             ((reconstruct_traits & UpdatePixelTrait) == 0))
           continue;
-        distance=QuantumScale*(p[i]-(double) GetPixelChannel(
-          reconstruct_image,channel,q));
+        distance=QuantumScale*(p[i]-(double) GetPixelChannel(reconstruct_image,
+          channel,q));
         distance*=distance;
         channel_distortion[i]+=distance;
         channel_distortion[CompositePixelChannel]+=distance;
index c684424201b53c2e744f0c3783bc5dd54b455e53..854f996878c0c193b930022633451bd420da47ed 100644 (file)
@@ -728,8 +728,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+
-          (double) foreground*(QuantumRange-HighlightFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+(double)
+          foreground*(QuantumRange-HighlightFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -752,9 +752,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*
-          AccentuateFactor+(double) foreground*(QuantumRange-
-          AccentuateFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*AccentuateFactor+
+          (double) foreground*(QuantumRange-AccentuateFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -777,8 +776,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+
-          (double) background*(QuantumRange-ShadowFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+(double)
+          background*(QuantumRange-ShadowFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -834,8 +833,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+
-          (double) foreground*(QuantumRange-HighlightFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+(double)
+          foreground*(QuantumRange-HighlightFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -860,8 +859,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+
-          (double) background*(QuantumRange-ShadowFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+(double)
+          background*(QuantumRange-ShadowFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -917,8 +916,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+
-          (double) foreground*(QuantumRange-HighlightFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*HighlightFactor+(double)
+          foreground*(QuantumRange-HighlightFactor)));
       }
       q+=GetPixelChannels(image);
     }
@@ -960,8 +959,8 @@ MagickExport MagickBooleanType RaiseImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if ((traits & UpdatePixelTrait) == 0)
           continue;
-        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+
-          (double) background*(QuantumRange-ShadowFactor)));
+        q[i]=ClampToQuantum(QuantumScale*((double) q[i]*ShadowFactor+(double)
+          background*(QuantumRange-ShadowFactor)));
       }
       q+=GetPixelChannels(image);
     }
index 4fa8543f54b55201db8435ab1ca0f66c53c03534..9dccbcdf6a1a7e969db1bf291bd96417802fa9d9 100644 (file)
@@ -346,12 +346,6 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius,
         break;
       center=(ssize_t) GetPixelChannels(image)*(width-j)*((width-j)/2L)+
         GetPixelChannels(image)*((width-j)/2L);
-      if (GetPixelMask(image,p) != 0)
-        {
-          q+=GetPixelChannels(blur_image);
-          r+=GetPixelChannels(edge_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -384,7 +378,8 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -673,12 +668,6 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius,
         break;
       center=(ssize_t) GetPixelChannels(image)*(width-j)*((width-j)/2L)+
         GetPixelChannels(image)*((width-j)/2);
-      if (GetPixelMask(image,p) != 0)
-        {
-          q+=GetPixelChannels(sharp_image);
-          r+=GetPixelChannels(edge_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(sharp_image); i++)
       {
         double
@@ -711,7 +700,8 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (sharp_traits == UndefinedPixelTrait))
           continue;
-        if ((sharp_traits & CopyPixelTrait) != 0)
+        if (((sharp_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(sharp_image,channel,p[center+i],q);
             continue;
@@ -982,12 +972,6 @@ MagickExport Image *BlurImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(blur_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -1017,7 +1001,8 @@ MagickExport Image *BlurImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -1111,12 +1096,6 @@ MagickExport Image *BlurImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-           p+=GetPixelChannels(blur_image);
-           q+=GetPixelChannels(blur_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(blur_image); i++)
       {
         double
@@ -1146,7 +1125,8 @@ MagickExport Image *BlurImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -1985,12 +1965,6 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(blur_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -2020,7 +1994,8 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[i],q);
             continue;
@@ -2789,12 +2764,6 @@ MagickExport Image *RadialBlurImage(const Image *image,const double angle,
             if (step >= n)
               step=n-1;
         }
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(blur_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -2820,7 +2789,8 @@ MagickExport Image *RadialBlurImage(const Image *image,const double angle,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[i],q);
             continue;
@@ -3093,13 +3063,6 @@ MagickExport Image *SelectiveBlurImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          l+=GetPixelChannels(luminance_image);
-          q+=GetPixelChannels(blur_image);
-          continue;
-        }
       intensity=GetPixelIntensity(image,p+center);
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
@@ -3134,7 +3097,8 @@ MagickExport Image *SelectiveBlurImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (blur_traits == UndefinedPixelTrait))
           continue;
-        if ((blur_traits & CopyPixelTrait) != 0)
+        if (((blur_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(blur_image,channel,p[center+i],q);
             continue;
@@ -3397,14 +3361,6 @@ MagickExport Image *ShadeImage(const Image *image,const MagickBooleanType gray,
                 shade=distance/sqrt((double) normal_distance);
             }
         }
-      if (GetPixelMask(image,p) != 0)
-        {
-          pre+=GetPixelChannels(image);
-          center+=GetPixelChannels(image);
-          post+=GetPixelChannels(image);
-          q+=GetPixelChannels(shade_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -3420,7 +3376,8 @@ MagickExport Image *ShadeImage(const Image *image,const MagickBooleanType gray,
         if ((traits == UndefinedPixelTrait) ||
             (shade_traits == UndefinedPixelTrait))
           continue;
-        if ((shade_traits & CopyPixelTrait) != 0)
+        if (((shade_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(shade_image,channel,center[i],q);
             continue;
@@ -3819,12 +3776,6 @@ MagickExport Image *UnsharpMaskImage(const Image *image,const double radius,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(unsharp_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -3843,7 +3794,8 @@ MagickExport Image *UnsharpMaskImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (unsharp_traits == UndefinedPixelTrait))
           continue;
-        if ((unsharp_traits & CopyPixelTrait) != 0)
+        if (((unsharp_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(unsharp_image,channel,p[i],q);
             continue;
index 456e8a0c73c3182bc4633c127e5c20722a9eb113..fc40d67fee4ea3e7e039ae3d013d29f877b82106 100644 (file)
@@ -350,12 +350,6 @@ MagickExport Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(noise_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -371,7 +365,8 @@ MagickExport Image *AddNoiseImage(const Image *image,const NoiseType noise_type,
         if ((traits == UndefinedPixelTrait) ||
             (noise_traits == UndefinedPixelTrait))
           continue;
-        if ((noise_traits & CopyPixelTrait) != 0)
+        if (((noise_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(noise_image,channel,p[i],q);
             continue;
@@ -3094,12 +3089,6 @@ MagickExport Image *FxImage(const Image *image,const char *expression,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(fx_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -3118,7 +3107,8 @@ MagickExport Image *FxImage(const Image *image,const char *expression,
         if ((traits == UndefinedPixelTrait) ||
             (fx_traits == UndefinedPixelTrait))
           continue;
-        if ((fx_traits & CopyPixelTrait) != 0)
+        if (((fx_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(fx_image,channel,p[i],q);
             continue;
@@ -3540,12 +3530,6 @@ MagickExport Image *MorphImages(const Image *image,
           register ssize_t
             i;
 
-          if (GetPixelMask(image,p) != 0)
-            {
-              p+=GetPixelChannels(image);
-              q+=GetPixelChannels(morph_image);
-              continue;
-            }
           for (i=0; i < (ssize_t) GetPixelChannels(morph_image); i++)
           {
             PixelChannel
@@ -3561,7 +3545,8 @@ MagickExport Image *MorphImages(const Image *image,
             if ((traits == UndefinedPixelTrait) ||
                 (morph_traits == UndefinedPixelTrait))
               continue;
-            if ((morph_traits & CopyPixelTrait) != 0)
+            if (((morph_traits & CopyPixelTrait) != 0) ||
+                (GetPixelMask(image,p) != 0))
               {
                 SetPixelChannel(morph_image,channel,p[i],q);
                 continue;
@@ -5386,12 +5371,6 @@ MagickExport Image *TintImage(const Image *image,const char *blend,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(tint_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -5407,7 +5386,8 @@ MagickExport Image *TintImage(const Image *image,const char *blend,
         if ((traits == UndefinedPixelTrait) ||
             (tint_traits == UndefinedPixelTrait))
           continue;
-        if ((tint_traits & CopyPixelTrait) != 0)
+        if (((tint_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(tint_image,channel,p[i],q);
             continue;
@@ -5415,17 +5395,17 @@ MagickExport Image *TintImage(const Image *image,const char *blend,
       }
       GetPixelInfo(image,&pixel);
       weight=QuantumScale*GetPixelRed(image,p)-0.5;
-      pixel.red=(double) GetPixelRed(image,p)+color_vector.red*
-        (1.0-(4.0*(weight*weight)));
+      pixel.red=(double) GetPixelRed(image,p)+color_vector.red*(1.0-(4.0*
+        (weight*weight)));
       weight=QuantumScale*GetPixelGreen(image,p)-0.5;
-      pixel.green=(double) GetPixelGreen(image,p)+color_vector.green*
-        (1.0-(4.0*(weight*weight)));
+      pixel.green=(double) GetPixelGreen(image,p)+color_vector.green*(1.0-(4.0*
+        (weight*weight)));
       weight=QuantumScale*GetPixelBlue(image,p)-0.5;
-      pixel.blue=(double) GetPixelBlue(image,p)+color_vector.blue*
-        (1.0-(4.0*(weight*weight)));
+      pixel.blue=(double) GetPixelBlue(image,p)+color_vector.blue*(1.0-(4.0*
+        (weight*weight)));
       weight=QuantumScale*GetPixelBlack(image,p)-0.5;
-      pixel.black=(double) GetPixelBlack(image,p)+color_vector.black*
-        (1.0-(4.0*(weight*weight)));
+      pixel.black=(double) GetPixelBlack(image,p)+color_vector.black*(1.0-(4.0*
+        (weight*weight)));
       SetPixelInfoPixel(tint_image,&pixel,q);
       p+=GetPixelChannels(image);
       q+=GetPixelChannels(tint_image);
index a3f9b906903b06be69e148c47b9bce55e920661f..4dafd4b502b6b31943e2a050e4215dc2fd11f50e 100644 (file)
@@ -656,12 +656,6 @@ MagickExport Image *OilPaintImage(const Image *image,const double radius,
         }
         k+=(ssize_t) (image->columns+width);
       }
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(paint_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -677,7 +671,8 @@ MagickExport Image *OilPaintImage(const Image *image,const double radius,
         if ((traits == UndefinedPixelTrait) ||
             (paint_traits == UndefinedPixelTrait))
           continue;
-        if ((paint_traits & CopyPixelTrait) != 0)
+        if (((paint_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(paint_image,channel,p[center+i],q);
             continue;
index a86318f1b0ca80553f2199eabf23ce67910a5180..1ff0705295cb6b4f72edd17750c29045cb2e24d4 100644 (file)
@@ -2291,11 +2291,6 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter,
       register ssize_t
         i;
 
-      if (GetPixelMask(resize_image,q) != 0)
-        {
-          q+=GetPixelChannels(resize_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(resize_image); i++)
       {
         double
@@ -2322,7 +2317,8 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter,
         if ((traits == UndefinedPixelTrait) ||
             (resize_traits == UndefinedPixelTrait))
           continue;
-        if ((resize_traits & CopyPixelTrait) != 0)
+        if (((resize_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(resize_image,q) != 0))
           {
             j=(ssize_t) (MagickMin(MagickMax(bisect,(double) start),(double)
               stop-1.0)+0.5);
@@ -2510,11 +2506,6 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter,
       register ssize_t
         i;
 
-      if (GetPixelMask(resize_image,q) != 0)
-        {
-          q+=GetPixelChannels(resize_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(resize_image); i++)
       {
         double
@@ -2541,7 +2532,8 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter,
         if ((traits == UndefinedPixelTrait) ||
             (resize_traits == UndefinedPixelTrait))
           continue;
-        if ((resize_traits & CopyPixelTrait) != 0)
+        if (((resize_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(resize_image,q) != 0))
           {
             j=(ssize_t) (MagickMin(MagickMax(bisect,(double) start),(double)
               stop-1.0)+0.5);
index 3fbac20600c67f39525b1f5559c86b6b2864417c..9fff1c868e3b186f3d56981c1d081c74c2c8dfd5 100644 (file)
@@ -847,11 +847,6 @@ MagickExport MagickBooleanType EvaluateImage(Image *image,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,q) != 0)
-        {
-          q+=GetPixelChannels(image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -864,7 +859,8 @@ MagickExport MagickBooleanType EvaluateImage(Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if (traits == UndefinedPixelTrait)
           continue;
-        if ((traits & CopyPixelTrait) != 0)
+        if (((traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,q) != 0))
           continue;
         q[i]=ClampToQuantum(ApplyEvaluateOperator(random_info[id],q[i],op,
           value));
@@ -1341,11 +1337,6 @@ MagickExport MagickBooleanType GetImageKurtosis(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -1358,7 +1349,8 @@ MagickExport MagickBooleanType GetImageKurtosis(const Image *image,
         traits=GetPixelChannelMapTraits(image,channel);
         if (traits == UndefinedPixelTrait)
           continue;
-        if ((traits & UpdatePixelTrait) == 0)
+        if (((traits & UpdatePixelTrait) == 0) ||
+            (GetPixelMask(image,p) != 0))
           continue;
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
         #pragma omp critical (MagickCore_GetImageKurtosis)
@@ -2318,12 +2310,6 @@ MagickExport Image *StatisticImage(const Image *image,const StatisticType type,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(statistic_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         PixelChannel
@@ -2351,7 +2337,8 @@ MagickExport Image *StatisticImage(const Image *image,const StatisticType type,
         if ((traits == UndefinedPixelTrait) ||
             (statistic_traits == UndefinedPixelTrait))
           continue;
-        if ((statistic_traits & CopyPixelTrait) != 0)
+        if (((statistic_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(statistic_image,channel,p[center+i],q);
             continue;
index ab1b9c32f81b296686deab6de1af8991d90b09d2..ebc3b434f1fe1fcdeb8fa288721b945b00f19ed0 100644 (file)
@@ -240,12 +240,6 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image,
       register ssize_t
         i;
 
-      if (GetPixelMask(image,p) != 0)
-        {
-          p+=GetPixelChannels(image);
-          q+=GetPixelChannels(threshold_image);
-          continue;
-        }
       for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
       {
         double
@@ -274,7 +268,8 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image,
         if ((traits == UndefinedPixelTrait) ||
             (threshold_traits == UndefinedPixelTrait))
           continue;
-        if ((threshold_traits & CopyPixelTrait) != 0)
+        if (((threshold_traits & CopyPixelTrait) != 0) ||
+            (GetPixelMask(image,p) != 0))
           {
             SetPixelChannel(threshold_image,channel,p[center+i],q);
             continue;