]> granicus.if.org Git - imagemagick/commitdiff
-colorspace gray is linear gray
authorCristy <urban-warrior@imagemagick.org>
Sun, 24 Dec 2017 19:26:15 +0000 (14:26 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sun, 24 Dec 2017 19:26:15 +0000 (14:26 -0500)
MagickCore/colorspace.c

index 8ee7c70763f67b9947e28fe525a91c41bda83526..77e508a5ffa3746866420d8dfb1c4184088193e6 100644 (file)
@@ -1334,16 +1334,17 @@ MagickExport MagickBooleanType TransformImageColorspace(Image *image,
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
   if (image->colorspace == colorspace)
     return(SetImageColorspace(image,colorspace,exception));
-  if ((image->colorspace == RGBColorspace) &&
-      ((colorspace == GRAYColorspace) || (colorspace == sGRAYColorspace)))
+  (void) DeleteImageProfile(image,"icc");
+  (void) DeleteImageProfile(image,"icm");
+  if (colorspace == GRAYColorspace)
     return(GrayscaleImage(image,Rec709LuminancePixelIntensityMethod,exception));
+  if (colorspace == sGRAYColorspace)
+    return(GrayscaleImage(image,Rec709LumaPixelIntensityMethod,exception));
   if (colorspace == UndefinedColorspace)
     return(SetImageColorspace(image,colorspace,exception));
   /*
     Convert the reference image from an alternate colorspace to sRGB.
   */
-  (void) DeleteImageProfile(image,"icc");
-  (void) DeleteImageProfile(image,"icm");
   if (IssRGBColorspace(colorspace) != MagickFalse)
     return(TransformsRGBImage(image,exception));
   status=MagickTrue;