hue+=0.5*(0.01*percent_hue-1.0);
while (hue < 0.0)
hue+=1.0;
- while (hue > 1.0)
+ while (hue >= 1.0)
hue-=1.0;
saturation*=0.01*percent_saturation;
lightness*=0.01*percent_lightness;
hue+=0.5*(0.01*percent_hue-1.0);
while (hue < 0.0)
hue+=1.0;
- while (hue > 1.0)
+ while (hue >= 1.0)
hue-=1.0;
blackness*=0.01*percent_blackness;
whiteness*=0.01*percent_whiteness;
hue+=0.5*(0.01*percent_hue-1.0);
while (hue < 0.0)
hue+=1.0;
- while (hue > 1.0)
+ while (hue >= 1.0)
hue-=1.0;
- ConvertHCLToRGB(luma,chroma,hue,red,green,blue);
+ ConvertLCHToRGB(luma,chroma,hue,red,green,blue);
}
MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate,
{
if (hue < 0.0)
hue+=1.0;
- if (hue > 1.0)
+ if (hue >= 1.0)
hue-=1.0;
if ((6.0*hue) < 1.0)
return(m1+6.0*(m2-m1)*hue);
(delta/2.0)))/delta;
if (*hue < 0.0)
*hue+=1.0;
- if (*hue > 1.0)
+ if (*hue >= 1.0)
*hue-=1.0;
}
\f
ConvertRGBToXYZ(red,green,blue,&X,&Y,&Z);
ConvertXYZToLab(X,Y,Z,&L,&a,&b);
C=hypot(a-0.5,b-0.5);
- H=180.0*atan2(b-0.5,a-0.5)/MagickPI;
+ H=180.0*atan2(b-0.5,a-0.5)/MagickPI/360.0;
if (H < 0.0)
- H+=360.0;
- if (H >= 360.0)
- H-=360.0;
+ H+=1.0;
+ if (H >= 1.0)
+ H-=1.0;
*luma=L;
*chroma=C;
- *hue=H/360.0;
+ *hue=H;
}
\f
/*