]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 4 Apr 2013 10:20:48 +0000 (10:20 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 4 Apr 2013 10:20:48 +0000 (10:20 +0000)
MagickCore/enhance.c
MagickCore/version.h

index 7b812f73e0ea0150a24a7cc3f987e0b329ca45fa..78029e076f84dcd6936fc309d2068d53b36c3565 100644 (file)
@@ -3026,9 +3026,15 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
       /*
         Modulate image colormap.
       */
-      red=DecodePixelGamma((MagickRealType) image->colormap[i].red);
-      green=DecodePixelGamma((MagickRealType) image->colormap[i].green);
-      blue=DecodePixelGamma((MagickRealType) image->colormap[i].blue);
+      red=(double) image->colormap[i].red;
+      green=(double) image->colormap[i].green;
+      blue=(double) image->colormap[i].blue;
+      if (IssRGBColorspace(image->colorspace) != MagickFalse)
+        {
+          red=DecodePixelGamma((MagickRealType) red);
+          green=DecodePixelGamma((MagickRealType) green);
+          blue=DecodePixelGamma((MagickRealType) blue);
+        }
       switch (colorspace)
       {
         case HCLColorspace:
@@ -3057,9 +3063,15 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
           break;
         }
       }
-      image->colormap[i].red=EncodePixelGamma(red);
-      image->colormap[i].green=EncodePixelGamma(green);
-      image->colormap[i].blue=EncodePixelGamma(blue);
+      if (IssRGBColorspace(image->colorspace) != MagickFalse)
+        {
+          red=EncodePixelGamma(red);
+          green=EncodePixelGamma(green);
+          blue=EncodePixelGamma(blue);
+        }
+      image->colormap[i].red=red;
+      image->colormap[i].green=green;
+      image->colormap[i].blue=blue;
     }
   /*
     Modulate image.
@@ -3094,9 +3106,15 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
         green,
         red;
 
-      red=DecodePixelGamma((MagickRealType) GetPixelRed(image,q));
-      green=DecodePixelGamma((MagickRealType) GetPixelGreen(image,q));
-      blue=DecodePixelGamma((MagickRealType) GetPixelBlue(image,q));
+      red=(double) GetPixelRed(image,q);
+      green=(double) GetPixelGreen(image,q);
+      blue=(double) GetPixelBlue(image,q);
+      if (IssRGBColorspace(image->colorspace) != MagickFalse)
+        {
+          red=DecodePixelGamma((MagickRealType) red);
+          green=DecodePixelGamma((MagickRealType) green);
+          blue=DecodePixelGamma((MagickRealType) blue);
+        }
       switch (colorspace)
       {
         case HCLColorspace:
@@ -3125,9 +3143,15 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
           break;
         }
       }
-      SetPixelRed(image,ClampToQuantum(EncodePixelGamma(red)),q);
-      SetPixelGreen(image,ClampToQuantum(EncodePixelGamma(green)),q);
-      SetPixelBlue(image,ClampToQuantum(EncodePixelGamma(blue)),q);
+      if (IssRGBColorspace(image->colorspace) != MagickFalse)
+        {
+          red=EncodePixelGamma(red);
+          green=EncodePixelGamma(green);
+          blue=EncodePixelGamma(blue);
+        }
+      SetPixelRed(image,ClampToQuantum(red),q);
+      SetPixelGreen(image,ClampToQuantum(green),q);
+      SetPixelBlue(image,ClampToQuantum(blue),q);
       q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
index 50f0b984c5e6f279c510d6c408bbde94547828c4..c7d0ce3bf89015a8fde6780bbc3fdc09effe9ad9 100644 (file)
@@ -34,7 +34,7 @@ extern "C" {
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  1
 #define MagickLibMinInterface  1
-#define MagickReleaseDate  "2013-04-01"
+#define MagickReleaseDate  "2013-04-04"
 #define MagickChangeDate   "20121005"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #define MagickFeatures "DPC HDRI OpenMP"