image->type=GrayscaleType;
return(status);
}
- case HCLColorspace:
+ case HSIColorspace:
{
/*
- Transform image from sRGB to HCL.
+ Transform image from sRGB to target colorspace.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
- chroma,
green,
- hue,
- luma,
- red;
+ red,
+ X,
+ Y,
+ Z;
red=(double) GetPixelRed(image,q);
green=(double) GetPixelGreen(image,q);
blue=(double) GetPixelBlue(image,q);
- ConvertRGBToHCL(red,green,blue,&hue,&chroma,&luma);
- SetPixelRed(image,ClampToQuantum(QuantumRange*hue),q);
- SetPixelGreen(image,ClampToQuantum(QuantumRange*chroma),q);
- SetPixelBlue(image,ClampToQuantum(QuantumRange*luma),q);
+ switch (colorspace)
+ {
+ case HSIColorspace:
+ {
+ ConvertRGBToHSI(red,green,blue,&X,&Y,&Z);
+ break;
+ }
+ default:
+ break;
+ }
+ SetPixelRed(image,ClampToQuantum(QuantumRange*X),q);
+ SetPixelGreen(image,ClampToQuantum(QuantumRange*Y),q);
+ SetPixelBlue(image,ClampToQuantum(QuantumRange*Z),q);
q+=GetPixelChannels(image);
}
sync=SyncCacheViewAuthenticPixels(image_view,exception);
return(MagickFalse);
return(status);
}
- case HCLpColorspace:
+ case HCLColorspace:
{
/*
- Transform image from sRGB to HCLp.
+ Transform image from sRGB to HCL.
*/
if (image->storage_class == PseudoClass)
{
red=(double) GetPixelRed(image,q);
green=(double) GetPixelGreen(image,q);
blue=(double) GetPixelBlue(image,q);
- ConvertRGBToHCLp(red,green,blue,&hue,&chroma,&luma);
+ ConvertRGBToHCL(red,green,blue,&hue,&chroma,&luma);
SetPixelRed(image,ClampToQuantum(QuantumRange*hue),q);
SetPixelGreen(image,ClampToQuantum(QuantumRange*chroma),q);
SetPixelBlue(image,ClampToQuantum(QuantumRange*luma),q);
return(MagickFalse);
return(status);
}
- case HSBColorspace:
+ case HCLpColorspace:
{
/*
- Transform image from sRGB to HSB.
+ Transform image from sRGB to HCLp.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
- brightness,
+ chroma,
green,
hue,
- red,
- saturation;
+ luma,
+ red;
red=(double) GetPixelRed(image,q);
green=(double) GetPixelGreen(image,q);
blue=(double) GetPixelBlue(image,q);
- ConvertRGBToHSB(red,green,blue,&hue,&saturation,&brightness);
+ ConvertRGBToHCLp(red,green,blue,&hue,&chroma,&luma);
SetPixelRed(image,ClampToQuantum(QuantumRange*hue),q);
- SetPixelGreen(image,ClampToQuantum(QuantumRange*saturation),q);
- SetPixelBlue(image,ClampToQuantum(QuantumRange*brightness),q);
+ SetPixelGreen(image,ClampToQuantum(QuantumRange*chroma),q);
+ SetPixelBlue(image,ClampToQuantum(QuantumRange*luma),q);
q+=GetPixelChannels(image);
}
sync=SyncCacheViewAuthenticPixels(image_view,exception);
return(MagickFalse);
return(status);
}
- case HSIColorspace:
+ case HSBColorspace:
{
/*
- Transform image from sRGB to HSI.
+ Transform image from sRGB to HSB.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
+ brightness,
green,
hue,
- intensity,
red,
saturation;
red=(double) GetPixelRed(image,q);
green=(double) GetPixelGreen(image,q);
blue=(double) GetPixelBlue(image,q);
- ConvertRGBToHSI(red,green,blue,&hue,&saturation,&intensity);
+ ConvertRGBToHSB(red,green,blue,&hue,&saturation,&brightness);
SetPixelRed(image,ClampToQuantum(QuantumRange*hue),q);
SetPixelGreen(image,ClampToQuantum(QuantumRange*saturation),q);
- SetPixelBlue(image,ClampToQuantum(QuantumRange*intensity),q);
+ SetPixelBlue(image,ClampToQuantum(QuantumRange*brightness),q);
q+=GetPixelChannels(image);
}
sync=SyncCacheViewAuthenticPixels(image_view,exception);
return(MagickFalse);
return(status);
}
- case HCLColorspace:
+ case HSIColorspace:
{
/*
- Transform image from HCL to sRGB.
+ Transform image from source colorspace to sRGB.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
- chroma,
green,
- hue,
- luma,
- red;
+ red,
+ X,
+ Y,
+ Z;
- hue=(double) (QuantumScale*GetPixelRed(image,q));
- chroma=(double) (QuantumScale*GetPixelGreen(image,q));
- luma=(double) (QuantumScale*GetPixelBlue(image,q));
- ConvertHCLToRGB(hue,chroma,luma,&red,&green,&blue);
+ X=QuantumScale*GetPixelRed(image,q);
+ Y=QuantumScale*GetPixelGreen(image,q);
+ Z=QuantumScale*GetPixelBlue(image,q);
+ switch (image->colorspace)
+ {
+ case HSIColorspace:
+ {
+ ConvertHSIToRGB(X,Y,Z,&red,&green,&blue);
+ break;
+ }
+ default:
+ break;
+ }
SetPixelRed(image,ClampToQuantum(red),q);
SetPixelGreen(image,ClampToQuantum(green),q);
SetPixelBlue(image,ClampToQuantum(blue),q);
return(MagickFalse);
return(status);
}
- case HCLpColorspace:
+ case HCLColorspace:
{
/*
- Transform image from HCLp to sRGB.
+ Transform image from HCL to sRGB.
*/
if (image->storage_class == PseudoClass)
{
hue=(double) (QuantumScale*GetPixelRed(image,q));
chroma=(double) (QuantumScale*GetPixelGreen(image,q));
luma=(double) (QuantumScale*GetPixelBlue(image,q));
- ConvertHCLpToRGB(hue,chroma,luma,&red,&green,&blue);
+ ConvertHCLToRGB(hue,chroma,luma,&red,&green,&blue);
SetPixelRed(image,ClampToQuantum(red),q);
SetPixelGreen(image,ClampToQuantum(green),q);
SetPixelBlue(image,ClampToQuantum(blue),q);
return(MagickFalse);
return(status);
}
- case HSBColorspace:
+ case HCLpColorspace:
{
/*
- Transform image from HSB to sRGB.
+ Transform image from HCLp to sRGB.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
- brightness,
+ chroma,
green,
hue,
- red,
- saturation;
+ luma,
+ red;
hue=(double) (QuantumScale*GetPixelRed(image,q));
- saturation=(double) (QuantumScale*GetPixelGreen(image,q));
- brightness=(double) (QuantumScale*GetPixelBlue(image,q));
- ConvertHSBToRGB(hue,saturation,brightness,&red,&green,&blue);
+ chroma=(double) (QuantumScale*GetPixelGreen(image,q));
+ luma=(double) (QuantumScale*GetPixelBlue(image,q));
+ ConvertHCLpToRGB(hue,chroma,luma,&red,&green,&blue);
SetPixelRed(image,ClampToQuantum(red),q);
SetPixelGreen(image,ClampToQuantum(green),q);
SetPixelBlue(image,ClampToQuantum(blue),q);
return(MagickFalse);
return(status);
}
- case HSIColorspace:
+ case HSBColorspace:
{
/*
- Transform image from HSI to sRGB.
+ Transform image from HSB to sRGB.
*/
if (image->storage_class == PseudoClass)
{
{
double
blue,
+ brightness,
green,
hue,
- intensity,
red,
saturation;
hue=(double) (QuantumScale*GetPixelRed(image,q));
saturation=(double) (QuantumScale*GetPixelGreen(image,q));
- intensity=(double) (QuantumScale*GetPixelBlue(image,q));
- ConvertHSIToRGB(hue,saturation,intensity,&red,&green,&blue);
+ brightness=(double) (QuantumScale*GetPixelBlue(image,q));
+ ConvertHSBToRGB(hue,saturation,brightness,&red,&green,&blue);
SetPixelRed(image,ClampToQuantum(red),q);
SetPixelGreen(image,ClampToQuantum(green),q);
SetPixelBlue(image,ClampToQuantum(blue),q);