]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 27 Mar 2013 21:10:56 +0000 (21:10 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 27 Mar 2013 21:10:56 +0000 (21:10 +0000)
MagickCore/attribute.c
MagickCore/colorspace.c
MagickCore/enhance.c

index 76e9d9c4ea315bb6c17573b43a6d854889920827..86ac12e30d5521dd4b9fc8f0aff3a430b1f441bf 100644 (file)
@@ -687,7 +687,7 @@ MagickExport MagickBooleanType IsImageGray(const Image *image,
       (image->type == GrayscaleMatteType))
     return(MagickTrue);
   if ((IsGrayColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+      (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse))
     return(MagickFalse);
   type=BilevelType;
   image_view=AcquireVirtualCacheView(image,exception);
@@ -772,7 +772,7 @@ MagickExport MagickBooleanType IsImageMonochrome(const Image *image,
   if (image->type == BilevelType)
     return(MagickTrue);
   if ((IsGrayColorspace(image->colorspace) == MagickFalse) &&
-      (IsRGBColorspace(image->colorspace) == MagickFalse))
+      (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse))
     return(MagickFalse);
   type=BilevelType;
   image_view=AcquireVirtualCacheView(image,exception);
index ed599d7e39c31ff4afe2e5519b5ba42fa36fd1ee..bb2263c48b3d384e69b002ab16e9d623eac2d4fe 100644 (file)
@@ -1648,7 +1648,17 @@ MagickExport MagickBooleanType SetImageColorspace(Image *image,
   image->rendering_intent=UndefinedIntent;
   image->gamma=1.000f;
   (void) ResetMagickMemory(&image->chromaticity,0,sizeof(image->chromaticity));
-  if (IssRGBColorspace(colorspace) != MagickFalse)
+  if (IsGrayColorspace(colorspace) != MagickFalse)
+    {
+      if ((image->intensity != Rec601LuminancePixelIntensityMethod) &&
+          (image->intensity != Rec709LuminancePixelIntensityMethod))
+        image->gamma=1.000f/2.200f;
+      image->type=GrayscaleType;
+    }
+  else
+    if (IssRGBColorspace(colorspace) != MagickFalse)
+      image->gamma=1.000f/2.200f;
+  if (image->gamma == (1.000f/2.200f))
     {
       image->rendering_intent=PerceptualIntent;
       image->gamma=1.000f/2.200f;
index 06abc76c0a4cb31c98c3dfdd7b9412fe581c231f..c36c7c4e07d8825f0c90779917c2522ac4003063 100644 (file)
@@ -42,6 +42,7 @@
 */
 #include "MagickCore/studio.h"
 #include "MagickCore/artifact.h"
+#include "MagickCore/attribute.h"
 #include "MagickCore/cache.h"
 #include "MagickCore/cache-view.h"
 #include "MagickCore/color.h"
@@ -1049,6 +1050,8 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image,
   /*
     Form histogram.
   */
+  if (IsImageGray(image,exception) != MagickFalse)
+    (void) SetImageColorspace(image,GRAYColorspace,exception);
   status=MagickTrue;
   (void) ResetMagickMemory(histogram,0,(MaxMap+1)*GetPixelChannels(image)*
     sizeof(*histogram));