]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 17 Oct 2009 16:06:51 +0000 (16:06 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 17 Oct 2009 16:06:51 +0000 (16:06 +0000)
magick/enhance.c

index 1c783041109d515e9f5eda09ab282efb421d9861..c0767353ca0ede50e6b1d37d60de0ddbbb7baecd 100644 (file)
@@ -2057,19 +2057,28 @@ MagickExport MagickBooleanType GammaImageChannel(Image *image,
     indexes=GetCacheViewAuthenticIndexQueue(image_view);
     for (x=0; x < (long) image->columns; x++)
     {
-      if ((channel & RedChannel) != 0)
-        q->red=gamma_map[ScaleQuantumToMap(q->red)];
-      if ((channel & GreenChannel) != 0)
-        q->green=gamma_map[ScaleQuantumToMap(q->green)];
-      if ((channel & BlueChannel) != 0)
-        q->blue=gamma_map[ScaleQuantumToMap(q->blue)];
-      if ((channel & OpacityChannel) != 0)
+      if (channel == DefaultChannels)
         {
-          if (image->matte == MagickFalse)
-            q->opacity=gamma_map[ScaleQuantumToMap(q->opacity)];
-          else
-            q->opacity=(Quantum) QuantumRange-gamma_map[
-              ScaleQuantumToMap((Quantum) (QuantumRange-q->opacity))];
+          q->red=gamma_map[ScaleQuantumToMap(q->red)];
+          q->green=gamma_map[ScaleQuantumToMap(q->green)];
+          q->blue=gamma_map[ScaleQuantumToMap(q->blue)];
+        }
+      else
+        {
+          if ((channel & RedChannel) != 0)
+            q->red=gamma_map[ScaleQuantumToMap(q->red)];
+          if ((channel & GreenChannel) != 0)
+            q->green=gamma_map[ScaleQuantumToMap(q->green)];
+          if ((channel & BlueChannel) != 0)
+            q->blue=gamma_map[ScaleQuantumToMap(q->blue)];
+          if ((channel & OpacityChannel) != 0)
+            {
+              if (image->matte == MagickFalse)
+                q->opacity=gamma_map[ScaleQuantumToMap(q->opacity)];
+              else
+                q->opacity=(Quantum) QuantumRange-gamma_map[
+                  ScaleQuantumToMap((Quantum) (QuantumRange-q->opacity))];
+            }
         }
       q++;
     }