From: cristy Date: Fri, 5 Apr 2013 16:39:20 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3934 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=30ad51ee238a5e9c282698a54f71d274353dc28b;p=imagemagick --- diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index b47c63398..7dc5866c0 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -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); diff --git a/MagickCore/gem.c b/MagickCore/gem.c index 562ec16d2..34658bb1e 100644 --- a/MagickCore/gem.c +++ b/MagickCore/gem.c @@ -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)