From 846740b998cb0bf740d221ac20bd53e7fe3acaac Mon Sep 17 00:00:00 2001 From: cristy Date: Wed, 19 Jun 2013 18:19:55 +0000 Subject: [PATCH] --- MagickCore/gem.c | 16 ++++++---------- tests/validate.c | 10 ++++------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/MagickCore/gem.c b/MagickCore/gem.c index 1cd5bad6e..440e2b149 100644 --- a/MagickCore/gem.c +++ b/MagickCore/gem.c @@ -762,7 +762,7 @@ MagickPrivate void ConvertLCHabToRGB(const double luma,const double chroma, assert(red != (double *) NULL); assert(green != (double *) NULL); assert(blue != (double *) NULL); - ConvertLCHabToXYZ(100.0*luma,255.0*(chroma-0.5),255.0*(hue-0.5),&X,&Y,&Z); + ConvertLCHabToXYZ(100.0*luma,255.0*(chroma-0.5),360.0*(hue-0.5),&X,&Y,&Z); ConvertXYZToRGB(X,Y,Z,red,green,blue); } @@ -815,7 +815,7 @@ MagickPrivate void ConvertLCHuvToRGB(const double luma,const double chroma, assert(red != (double *) NULL); assert(green != (double *) NULL); assert(blue != (double *) NULL); - ConvertLCHuvToXYZ(100.0*luma,354.0*chroma-134.0,262.0*hue-140.0,&X,&Y,&Z); + ConvertLCHuvToXYZ(100.0*luma,255.0*(chroma-0.5),360.0*(hue-0.5),&X,&Y,&Z) ConvertXYZToRGB(X,Y,Z,red,green,blue); } @@ -1342,10 +1342,8 @@ static inline void ConvertXYZToLCHab(const double X,const double Y, b; ConvertXYZToLab(X,Y,Z,luma,&a,&b); - *chroma=hypot(255.0*(a-0.5),255.0*(b-0.5)); - *hue=180.0*atan2(255.0*(b-0.5),255.0*(a-0.5))/MagickPI; - *chroma=(*chroma)/255.0+0.5; - *hue=(*hue)/255.0+0.5; + *chroma=hypot(255.0*(a-0.5),255.0*(b-0.5))/255.0+0.5; + *hue=180.0*atan2(255.0*(b-0.5),255.0*(a-0.5))/MagickPI/360.0+0.5; if (*hue < 0.0) *hue+=1.0; } @@ -1405,10 +1403,8 @@ static inline void ConvertXYZToLCHuv(const double X,const double Y, v; ConvertXYZToLuv(X,Y,Z,luma,&u,&v); - *chroma=hypot(354.0*u-134.0,262.0*v-140.0); - *hue=180.0*atan2(262.0*v-140.0,354.0*u-134.0)/MagickPI; - *chroma=(*chroma+134.0)/354.0; - *hue=(*hue+140.0)/262.0; + *chroma=hypot(354.0*u-134.0,262.0*v-140.0)/255.0+0.5; + *hue=180.0*atan2(262.0*v-140.0,354.0*u-134.0)/MagickPI/360.0+0.5; if (*hue < 0.0) *hue+=1.0; } diff --git a/tests/validate.c b/tests/validate.c index 3d3fc32f3..9640d5d0a 100644 --- a/tests/validate.c +++ b/tests/validate.c @@ -497,7 +497,7 @@ static void ConvertLCHabToRGB(const double luma,const double chroma, Y, Z; - ConvertLCHabToXYZ(luma*100.0,255.0*(chroma-0.5),255.0*(hue-0.5),&X,&Y,&Z); + ConvertLCHabToXYZ(luma*100.0,255.0*(chroma-0.5),360.0*(hue-0.5),&X,&Y,&Z); ConvertXYZToRGB(X,Y,Z,red,green,blue); } @@ -544,10 +544,8 @@ static inline void ConvertXYZToLCHab(const double X,const double Y, b; ConvertXYZToLab(X,Y,Z,luma,&a,&b); - *chroma=hypot(255.0*(a-0.5),255.0*(b-0.5)); - *hue=180.0*atan2(255.0*(b-0.5),255.0*(a-0.5))/MagickPI; - *chroma=(*chroma)/255.0+0.5; - *hue=(*hue)/255.0+0.5; + *chroma=hypot(255.0*(a-0.5),255.0*(b-0.5))/255.0+0.5; + *hue=180.0*atan2(255.0*(b-0.5),255.0*(a-0.5))/MagickPI/360.0+0.5; if (*hue < 0.0) *hue+=1.0; } @@ -905,7 +903,7 @@ static MagickBooleanType ValidateLchToRGB() r; (void) FormatLocaleFile(stdout," LchToRGB"); - ConvertLCHabToRGB(88.456154/100.0,75.219797/255.0+0.5,136.620717/255.0+0.5, + ConvertLCHabToRGB(88.456154/100.0,75.219797/255.0+0.5,136.620717/360.0+0.5, &r,&g,&b); if ((fabs(r-0.545877*QuantumRange) >= ReferenceEpsilon) || (fabs(g-0.966567*QuantumRange) >= ReferenceEpsilon) || -- 2.40.0