From e6cb62ea79e099fcc288130c68fc541f2f8faa51 Mon Sep 17 00:00:00 2001 From: Cristy Date: Sat, 14 Sep 2019 12:45:14 -0400 Subject: [PATCH] ... --- MagickCore/colorspace-private.h | 7 ++++--- MagickCore/colorspace.c | 8 +------- MagickCore/pixel.c | 12 ++++++++---- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/MagickCore/colorspace-private.h b/MagickCore/colorspace-private.h index 1c7c98681..b575a374a 100644 --- a/MagickCore/colorspace-private.h +++ b/MagickCore/colorspace-private.h @@ -103,7 +103,8 @@ static inline MagickBooleanType IsGrayColorspace( static inline MagickBooleanType IsRGBColorspace(const ColorspaceType colorspace) { - if ((colorspace == RGBColorspace) || (colorspace == scRGBColorspace)) + if ((colorspace == RGBColorspace) || (colorspace == scRGBColorspace) || + (colorspace == LinearGRAYColorspace)) return(MagickTrue); return(MagickFalse); } @@ -120,8 +121,8 @@ static inline MagickBooleanType IssRGBCompatibleColorspace( const ColorspaceType colorspace) { if ((colorspace == sRGBColorspace) || (colorspace == RGBColorspace) || - (colorspace == scRGBColorspace) || (colorspace == GRAYColorspace) || - (colorspace == LinearGRAYColorspace)) + (colorspace == scRGBColorspace) || (colorspace == TransparentColorspace) || + (colorspace == GRAYColorspace) || (colorspace == LinearGRAYColorspace)) return(MagickTrue); return(MagickFalse); } diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c index ebd453318..a8abee774 100644 --- a/MagickCore/colorspace.c +++ b/MagickCore/colorspace.c @@ -423,10 +423,7 @@ static MagickBooleanType sRGBTransformImage(Image *image, gray; gray=(MagickRealType) GetPixelIntensity(image,q); - if ((image->intensity == Rec601LumaPixelIntensityMethod) || - (image->intensity == Rec709LumaPixelIntensityMethod)) - gray=DecodePixelGamma(gray); - SetPixelGray(image,ClampToQuantum(GetPixelIntensity(image,q)),q); + SetPixelGray(image,ClampToQuantum(gray),q); q+=GetPixelChannels(image); } sync=SyncCacheViewAuthenticPixels(image_view,exception); @@ -1897,9 +1894,6 @@ static MagickBooleanType TransformsRGBImage(Image *image, gray; gray=(MagickRealType) GetPixelIntensity(image,q); - if ((image->intensity == Rec601LuminancePixelIntensityMethod) || - (image->intensity == Rec709LuminancePixelIntensityMethod)) - gray=EncodePixelGamma(gray); SetPixelGray(image,ClampToQuantum(gray),q); q+=GetPixelChannels(image); } diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index 9b2f87607..a409a4510 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -2393,7 +2393,8 @@ MagickExport MagickRealType GetPixelIntensity( } case Rec601LumaPixelIntensityMethod: { - if (image->colorspace == RGBColorspace) + if ((image->colorspace == RGBColorspace) || + (image->colorspace == LinearGRAYColorspace)) { red=EncodePixelGamma(red); green=EncodePixelGamma(green); @@ -2404,7 +2405,8 @@ MagickExport MagickRealType GetPixelIntensity( } case Rec601LuminancePixelIntensityMethod: { - if (image->colorspace == sRGBColorspace) + if ((image->colorspace == sRGBColorspace) || + (image->colorspace == GRAYColorspace)) { red=DecodePixelGamma(red); green=DecodePixelGamma(green); @@ -2416,7 +2418,8 @@ MagickExport MagickRealType GetPixelIntensity( case Rec709LumaPixelIntensityMethod: default: { - if (image->colorspace == RGBColorspace) + if ((image->colorspace == RGBColorspace) || + (image->colorspace == LinearGRAYColorspace)) { red=EncodePixelGamma(red); green=EncodePixelGamma(green); @@ -2427,7 +2430,8 @@ MagickExport MagickRealType GetPixelIntensity( } case Rec709LuminancePixelIntensityMethod: { - if (image->colorspace == sRGBColorspace) + if ((image->colorspace == sRGBColorspace) || + (image->colorspace == GRAYColorspace)) { red=DecodePixelGamma(red); green=DecodePixelGamma(green); -- 2.40.0