(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Fri, 5 Apr 2013 16:39:20 +0000 (16:39 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Fri, 5 Apr 2013 16:39:20 +0000 (16:39 +0000)
MagickCore/enhance.c
MagickCore/gem.c

index b47c63398c6e5bf6db7f4c5a104e30c01d335a88..7dc5866c0995c33ee0dd21e13566df2f57d847f6 100644 (file)
@@ -2966,7 +2966,7 @@ static inline void ModulateLCH(const double percent_luma,
   /*
     Increase or decrease color luma, chroma, or hue.
   */
-  ConvertRGBToLCHab(*red,*green,*blue,&luma,&chroma,&hue);
+  ConvertRGBToLCHuv(*red,*green,*blue,&luma,&chroma,&hue);
   luma*=0.01*percent_luma;
   chroma*=0.01*percent_chroma;
   hue+=0.5*(0.01*percent_hue-1.0);
@@ -2974,7 +2974,7 @@ static inline void ModulateLCH(const double percent_luma,
     hue+=1.0;
   while (hue >= 1.0)
     hue-=1.0;
-  ConvertLCHabToRGB(luma,chroma,hue,red,green,blue);
+  ConvertLCHuvToRGB(luma,chroma,hue,red,green,blue);
 }
 
 MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
@@ -3086,7 +3086,7 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
           break;
         }
         case LCHColorspace:
-        case LCHabColorspace:
+        case LCHuvColorspace:
         {
           ModulateLCH(percent_brightness,percent_saturation,percent_hue,
             &red,&green,&blue);
@@ -3173,7 +3173,7 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
           break;
         }
         case LCHColorspace:
-        case LCHabColorspace:
+        case LCHuvColorspace:
         {
           ModulateLCH(percent_brightness,percent_saturation,percent_hue,
             &red,&green,&blue);
index 562ec16d2e70f8d222d5b435eac0e3a71cc63a05..34658bb1e52b77f6a7240ef02afa55bddc4c5f32 100644 (file)
@@ -512,8 +512,8 @@ MagickPrivate void ConvertLCHuvToRGB(const double luma,const double chroma,
   L=luma;
   C=chroma;
   H=hue;
-  u=C*cos(360.0*H*MagickPI/180.0)+0.5;
-  v=C*sin(360.0*H*MagickPI/180.0)+0.5;
+  u=C*cos(360.0*H*MagickPI/180.0)+134.0/354.0;
+  v=C*sin(360.0*H*MagickPI/180.0)+140.0/262.0;
   ConvertLuvToXYZ(L,u,v,&X,&Y,&Z);
   ConvertXYZToRGB(X,Y,Z,red,green,blue);
 }
@@ -926,8 +926,8 @@ MagickPrivate void ConvertRGBToLCHuv(const double red,const double green,
   assert(hue != (double *) NULL);
   ConvertRGBToXYZ(red,green,blue,&X,&Y,&Z);
   ConvertXYZToLuv(X,Y,Z,&L,&u,&v);
-  C=hypot(u-0.5,v-0.5);
-  H=180.0*atan2(v-0.5,u-0.5)/MagickPI/360.0;
+  C=hypot(u-134.0/254.0,v-140.0/262.0);
+  H=180.0*atan2(v-140.0/262.0,u-134.0/254.0)/MagickPI/360.0;
   if (H < 0.0)
     H+=1.0;
   if (H >= 1.0)