From: Cristy Date: Tue, 12 Dec 2017 15:16:09 +0000 (-0500) Subject: Return a gamma of 1.0 when transforming linear RGB to gray X-Git-Tag: 7.0.7-15~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fa628c9267c4adf91dbf3e5f689b3447fb14107;p=imagemagick Return a gamma of 1.0 when transforming linear RGB to gray --- diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c index 5a1002f17..3b17edaab 100644 --- a/MagickCore/colorspace.c +++ b/MagickCore/colorspace.c @@ -51,6 +51,7 @@ #include "MagickCore/colorspace-private.h" #include "MagickCore/exception.h" #include "MagickCore/exception-private.h" +#include "MagickCore/enhance.h" #include "MagickCore/image.h" #include "MagickCore/image-private.h" #include "MagickCore/gem.h" @@ -1281,12 +1282,8 @@ MagickExport MagickBooleanType TransformImageColorspace(Image *image, (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); if (image->colorspace == colorspace) return(SetImageColorspace(image,colorspace,exception)); - if ((image->colorspace == GRAYColorspace) && (image->gamma != 1.0) && - (colorspace == sRGBColorspace)) - return(SetImageColorspace(image,colorspace,exception)); - if ((image->colorspace == RGBColorspace) && (image->gamma != 1.0) && - (colorspace == RGBColorspace)) - return(SetImageColorspace(image,colorspace,exception)); + if ((image->colorspace == RGBColorspace) && (colorspace == GRAYColorspace)) + return(GrayscaleImage(image,Rec709LuminancePixelIntensityMethod,exception)); if (colorspace == UndefinedColorspace) return(SetImageColorspace(image,colorspace,exception)); /*