Commit 0a4e99789 for imagemagick.org
commit 0a4e99789391e2ff88c34e9a51b708595c595ed4
Author: tomotomo <tomoppeko@gmail.com>
Date: Mon Nov 9 21:53:28 2026 +0900
Clip out-of-gamut colors in ConvertXYZToRGB() instead of shifting all channels (#9109)
diff --git a/MagickCore/colorspace-private.h b/MagickCore/colorspace-private.h
index 9b3b0dfca..aa6575fb9 100644
--- a/MagickCore/colorspace-private.h
+++ b/MagickCore/colorspace-private.h
@@ -75,19 +75,11 @@ static inline void ConvertXYZToRGB(const double X,const double Y,const double Z,
double
b,
g,
- min,
r;
r=(3.240969941904521*X)+(-1.537383177570093*Y)+(-0.498610760293*Z);
g=(-0.96924363628087*X)+(1.87596750150772*Y)+(0.041555057407175*Z);
b=(0.055630079696993*X)+(-0.20397695888897*Y)+(1.056971514242878*Z);
- min=MagickMin(r,MagickMin(g,b));
- if (min < 0.0)
- {
- r-=min;
- g-=min;
- b-=min;
- }
*red=EncodePixelGamma((double) QuantumRange*r);
*green=EncodePixelGamma((double) QuantumRange*g);
*blue=EncodePixelGamma((double) QuantumRange*b);