]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 28 Sep 2011 22:33:09 +0000 (22:33 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 28 Sep 2011 22:33:09 +0000 (22:33 +0000)
MagickCore/statistic.c

index 69290e6748cc98845ad038fa7114c36b269927c3..b27368277c828c94f41e02ef972dd2c98f6b5d56 100644 (file)
@@ -683,15 +683,33 @@ MagickExport Image *EvaluateImages(const Image *images,
         image_view=DestroyCacheView(image_view);
         next=GetNextImageInList(next);
       }
-      if (op == MeanEvaluateOperator)
-        for (x=0; x < (ssize_t) evaluate_image->columns; x++)
+      for (x=0; x < (ssize_t) evaluate_image->columns; x++)
+      {
+        register ssize_t
+           i;
+
+        switch (op)
         {
-          register ssize_t
-            i;
+          case MeanEvaluateOperator:
+          {
+            for (i=0; i < (ssize_t) GetPixelChannels(evaluate_image); i++)
+              evaluate_pixel[x].channel[i]/=(MagickRealType) number_images;
+            break;
+          }
+          case MultiplyEvaluateOperator:
+          {
+            for (i=0; i < (ssize_t) GetPixelChannels(evaluate_image); i++)
+            {
+              register ssize_t
+                j;
 
-          for (i=0; i < (ssize_t) GetPixelChannels(evaluate_image); i++)
-            evaluate_pixel[x].channel[i]/=(MagickRealType) number_images;
+              for (j=0; j < (ssize_t) (number_images-1); j++)
+                evaluate_pixel[x].channel[i]*=QuantumScale;
+            }
+            break;
+          }
         }
+      }
       for (x=0; x < (ssize_t) evaluate_image->columns; x++)
       {
         register ssize_t