]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 19 Jun 2013 18:19:55 +0000 (18:19 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 19 Jun 2013 18:19:55 +0000 (18:19 +0000)
MagickCore/gem.c
tests/validate.c

index 1cd5bad6e7603410b23447274bc7b7d89112a538..440e2b1491d7c37117f7079ad41b5e3e810a15da 100644 (file)
@@ -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);
 }
 \f
@@ -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);
 }
 \f
@@ -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;
 }
index 3d3fc32f3cbcab42016b0887e386716e1b8daa31..9640d5d0ab561dc6a31a78733bdf07dab1761402 100644 (file)
@@ -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) ||