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
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
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;
}
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;
}
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);
}
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;
}
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) ||