From: cristy Date: Wed, 27 Mar 2013 21:10:56 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3996 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5836c745cb2a19e3ee34905292f7c08dac74ffc6;p=imagemagick --- diff --git a/MagickCore/attribute.c b/MagickCore/attribute.c index 76e9d9c4e..86ac12e30 100644 --- a/MagickCore/attribute.c +++ b/MagickCore/attribute.c @@ -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); diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c index ed599d7e3..bb2263c48 100644 --- a/MagickCore/colorspace.c +++ b/MagickCore/colorspace.c @@ -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; diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index 06abc76c0..c36c7c4e0 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -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));