blue=QuantumRange*sRGBDecompanding(QuantumScale*
GetPixelBlue(image,q));
SetPixelCyan(image,ClampToQuantum((MagickRealType) (QuantumRange-
- GetPixelRed(image,q))),q);
+ red)),q);
SetPixelMagenta(image,ClampToQuantum((MagickRealType) (QuantumRange-
- GetPixelGreen(image,q))),q);
+ green)),q);
SetPixelYellow(image,ClampToQuantum((MagickRealType) (QuantumRange-
- GetPixelBlue(image,q))),q);
+ blue)),q);
q+=GetPixelChannels(image);
}
sync=SyncCacheViewAuthenticPixels(image_view,exception);
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.33333f*(MagickRealType) i;
- y_map[i].x=0.33334f*(MagickRealType) i;
- z_map[i].x=0.33333f*(MagickRealType) i;
- x_map[i].y=0.50000f*(MagickRealType) i;
- y_map[i].y=0.00000f*(MagickRealType) i;
- z_map[i].y=(-0.50000f)*(MagickRealType) i;
- x_map[i].z=(-0.25000f)*(MagickRealType) i;
- y_map[i].z=0.50000f*(MagickRealType) i;
- z_map[i].z=(-0.25000f)*(MagickRealType) i;
+ x_map[i].x=0.33333*(MagickRealType) i;
+ y_map[i].x=0.33334*(MagickRealType) i;
+ z_map[i].x=0.33333*(MagickRealType) i;
+ x_map[i].y=0.50000*(MagickRealType) i;
+ y_map[i].y=0.00000*(MagickRealType) i;
+ z_map[i].y=(-0.50000)*(MagickRealType) i;
+ x_map[i].z=(-0.25000)*(MagickRealType) i;
+ y_map[i].z=0.50000*(MagickRealType) i;
+ z_map[i].z=(-0.25000)*(MagickRealType) i;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.298839f*(MagickRealType) i;
- y_map[i].x=0.586811f*(MagickRealType) i;
- z_map[i].x=0.114350f*(MagickRealType) i;
- x_map[i].y=0.298839f*(MagickRealType) i;
- y_map[i].y=0.586811f*(MagickRealType) i;
- z_map[i].y=0.114350f*(MagickRealType) i;
- x_map[i].z=0.298839f*(MagickRealType) i;
- y_map[i].z=0.586811f*(MagickRealType) i;
- z_map[i].z=0.114350f*(MagickRealType) i;
+ x_map[i].x=0.298839*(MagickRealType) i;
+ y_map[i].x=0.586811*(MagickRealType) i;
+ z_map[i].x=0.114350*(MagickRealType) i;
+ x_map[i].y=0.298839*(MagickRealType) i;
+ y_map[i].y=0.586811*(MagickRealType) i;
+ z_map[i].y=0.114350*(MagickRealType) i;
+ x_map[i].z=0.298839*(MagickRealType) i;
+ y_map[i].z=0.586811*(MagickRealType) i;
+ z_map[i].z=0.114350*(MagickRealType) i;
}
image->type=GrayscaleType;
break;
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.298839f*(MagickRealType) i;
- y_map[i].x=0.586811f*(MagickRealType) i;
- z_map[i].x=0.114350f*(MagickRealType) i;
- x_map[i].y=(-0.168730f)*(MagickRealType) i;
- y_map[i].y=(-0.331264f)*(MagickRealType) i;
- z_map[i].y=0.500000f*(MagickRealType) i;
- x_map[i].z=0.500000f*(MagickRealType) i;
- y_map[i].z=(-0.418688f)*(MagickRealType) i;
- z_map[i].z=(-0.081312f)*(MagickRealType) i;
+ x_map[i].x=0.298839*(MagickRealType) i;
+ y_map[i].x=0.586811*(MagickRealType) i;
+ z_map[i].x=0.114350*(MagickRealType) i;
+ x_map[i].y=(-0.168730)*(MagickRealType) i;
+ y_map[i].y=(-0.331264)*(MagickRealType) i;
+ z_map[i].y=0.500000*(MagickRealType) i;
+ x_map[i].z=0.500000*(MagickRealType) i;
+ y_map[i].z=(-0.418688)*(MagickRealType) i;
+ z_map[i].z=(-0.081312)*(MagickRealType) i;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.21260f*(MagickRealType) i;
- y_map[i].x=0.71520f*(MagickRealType) i;
- z_map[i].x=0.07220f*(MagickRealType) i;
- x_map[i].y=0.21260f*(MagickRealType) i;
- y_map[i].y=0.71520f*(MagickRealType) i;
- z_map[i].y=0.07220f*(MagickRealType) i;
- x_map[i].z=0.21260f*(MagickRealType) i;
- y_map[i].z=0.71520f*(MagickRealType) i;
- z_map[i].z=0.07220f*(MagickRealType) i;
+ x_map[i].x=0.21260*(MagickRealType) i;
+ y_map[i].x=0.71520*(MagickRealType) i;
+ z_map[i].x=0.07220*(MagickRealType) i;
+ x_map[i].y=0.21260*(MagickRealType) i;
+ y_map[i].y=0.71520*(MagickRealType) i;
+ z_map[i].y=0.07220*(MagickRealType) i;
+ x_map[i].z=0.21260*(MagickRealType) i;
+ y_map[i].z=0.71520*(MagickRealType) i;
+ z_map[i].z=0.07220*(MagickRealType) i;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.212600f*(MagickRealType) i;
- y_map[i].x=0.715200f*(MagickRealType) i;
- z_map[i].x=0.072200f*(MagickRealType) i;
- x_map[i].y=(-0.114572f)*(MagickRealType) i;
- y_map[i].y=(-0.385428f)*(MagickRealType) i;
- z_map[i].y=0.500000f*(MagickRealType) i;
- x_map[i].z=0.500000f*(MagickRealType) i;
- y_map[i].z=(-0.454153f)*(MagickRealType) i;
- z_map[i].z=(-0.045847f)*(MagickRealType) i;
+ x_map[i].x=0.212600*(MagickRealType) i;
+ y_map[i].x=0.715200*(MagickRealType) i;
+ z_map[i].x=0.072200*(MagickRealType) i;
+ x_map[i].y=(-0.114572)*(MagickRealType) i;
+ y_map[i].y=(-0.385428)*(MagickRealType) i;
+ z_map[i].y=0.500000*(MagickRealType) i;
+ x_map[i].z=0.500000*(MagickRealType) i;
+ y_map[i].z=(-0.454153)*(MagickRealType) i;
+ z_map[i].z=(-0.045847)*(MagickRealType) i;
}
break;
}
v;
v=(MagickRealType) i/(MagickRealType) MaxMap;
- if (((MagickRealType) i/(MagickRealType) MaxMap) <= 0.0404482362771082f)
- v/=12.92f;
+ if (((MagickRealType) i/(MagickRealType) MaxMap) <= 0.0404482362771082)
+ v/=12.92;
else
v=(MagickRealType) pow((((double) i/MaxMap)+0.055)/1.055,2.4);
- x_map[i].x=1.0f*MaxMap*v;
- y_map[i].x=0.0f*MaxMap*v;
- z_map[i].x=0.0f*MaxMap*v;
- x_map[i].y=0.0f*MaxMap*v;
- y_map[i].y=1.0f*MaxMap*v;
- z_map[i].y=0.0f*MaxMap*v;
- x_map[i].z=0.0f*MaxMap*v;
- y_map[i].z=0.0f*MaxMap*v;
- z_map[i].z=1.0f*MaxMap*v;
+ x_map[i].x=1.0*MaxMap*v;
+ y_map[i].x=0.0*MaxMap*v;
+ z_map[i].x=0.0*MaxMap*v;
+ x_map[i].y=0.0*MaxMap*v;
+ y_map[i].y=1.0*MaxMap*v;
+ z_map[i].y=0.0*MaxMap*v;
+ x_map[i].z=0.0*MaxMap*v;
+ y_map[i].z=0.0*MaxMap*v;
+ z_map[i].z=1.0*MaxMap*v;
}
break;
}
primary_info.z=(double) ScaleQuantumToMap(ScaleCharToQuantum(137));
for (i=0; i <= (ssize_t) (0.018*MaxMap); i++)
{
- x_map[i].x=0.003962014134275617f*(MagickRealType) i;
- y_map[i].x=0.007778268551236748f*(MagickRealType) i;
- z_map[i].x=0.001510600706713781f*(MagickRealType) i;
- x_map[i].y=(-0.002426619775463276f)*(MagickRealType) i;
- y_map[i].y=(-0.004763965913702149f)*(MagickRealType) i;
- z_map[i].y=0.007190585689165425f*(MagickRealType) i;
- x_map[i].z=0.006927257754597858f*(MagickRealType) i;
- y_map[i].z=(-0.005800713697502058f)*(MagickRealType) i;
- z_map[i].z=(-0.0011265440570958f)*(MagickRealType) i;
+ x_map[i].x=0.003962014134275617*(MagickRealType) i;
+ y_map[i].x=0.007778268551236748*(MagickRealType) i;
+ z_map[i].x=0.001510600706713781*(MagickRealType) i;
+ x_map[i].y=(-0.002426619775463276)*(MagickRealType) i;
+ y_map[i].y=(-0.004763965913702149)*(MagickRealType) i;
+ z_map[i].y=0.007190585689165425*(MagickRealType) i;
+ x_map[i].z=0.006927257754597858*(MagickRealType) i;
+ y_map[i].z=(-0.005800713697502058)*(MagickRealType) i;
+ z_map[i].z=(-0.0011265440570958)*(MagickRealType) i;
}
for ( ; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.2201118963486454*(1.099f*(MagickRealType) i-0.099f);
- y_map[i].x=0.4321260306242638*(1.099f*(MagickRealType) i-0.099f);
- z_map[i].x=0.08392226148409894*(1.099f*(MagickRealType) i-0.099f);
- x_map[i].y=(-0.1348122097479598)*(1.099f*(MagickRealType) i-0.099f);
- y_map[i].y=(-0.2646647729834528)*(1.099f*(MagickRealType) i-0.099f);
- z_map[i].y=0.3994769827314126*(1.099f*(MagickRealType) i-0.099f);
- x_map[i].z=0.3848476530332144*(1.099f*(MagickRealType) i-0.099f);
- y_map[i].z=(-0.3222618720834477)*(1.099f*(MagickRealType) i-0.099f);
- z_map[i].z=(-0.06258578094976668)*(1.099f*(MagickRealType) i-0.099f);
+ x_map[i].x=0.2201118963486454*(1.099*(MagickRealType) i-0.099);
+ y_map[i].x=0.4321260306242638*(1.099*(MagickRealType) i-0.099);
+ z_map[i].x=0.08392226148409894*(1.099*(MagickRealType) i-0.099);
+ x_map[i].y=(-0.1348122097479598)*(1.099*(MagickRealType) i-0.099);
+ y_map[i].y=(-0.2646647729834528)*(1.099*(MagickRealType) i-0.099);
+ z_map[i].y=0.3994769827314126*(1.099*(MagickRealType) i-0.099);
+ x_map[i].z=0.3848476530332144*(1.099*(MagickRealType) i-0.099);
+ y_map[i].z=(-0.3222618720834477)*(1.099*(MagickRealType) i-0.099);
+ z_map[i].z=(-0.06258578094976668)*(1.099*(MagickRealType) i-0.099);
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.298839f*(MagickRealType) i;
- y_map[i].x=0.586811f*(MagickRealType) i;
- z_map[i].x=0.114350f*(MagickRealType) i;
- x_map[i].y=0.59600f*(MagickRealType) i;
- y_map[i].y=(-0.27400f)*(MagickRealType) i;
- z_map[i].y=(-0.32200f)*(MagickRealType) i;
- x_map[i].z=0.21100f*(MagickRealType) i;
- y_map[i].z=(-0.52300f)*(MagickRealType) i;
- z_map[i].z=0.31200f*(MagickRealType) i;
+ x_map[i].x=0.298839*(MagickRealType) i;
+ y_map[i].x=0.586811*(MagickRealType) i;
+ z_map[i].x=0.114350*(MagickRealType) i;
+ x_map[i].y=0.59600*(MagickRealType) i;
+ y_map[i].y=(-0.27400)*(MagickRealType) i;
+ z_map[i].y=(-0.32200)*(MagickRealType) i;
+ x_map[i].z=0.21100*(MagickRealType) i;
+ y_map[i].z=(-0.52300)*(MagickRealType) i;
+ z_map[i].z=0.31200*(MagickRealType) i;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.298839f*(MagickRealType) i;
- y_map[i].x=0.586811f*(MagickRealType) i;
- z_map[i].x=0.114350f*(MagickRealType) i;
- x_map[i].y=(-0.168736f)*(MagickRealType) i;
- y_map[i].y=(-0.331264f)*(MagickRealType) i;
- z_map[i].y=0.500000f*(MagickRealType) i;
- x_map[i].z=0.500000f*(MagickRealType) i;
- y_map[i].z=(-0.418688f)*(MagickRealType) i;
- z_map[i].z=(-0.081312f)*(MagickRealType) i;
+ x_map[i].x=0.298839*(MagickRealType) i;
+ y_map[i].x=0.586811*(MagickRealType) i;
+ z_map[i].x=0.114350*(MagickRealType) i;
+ x_map[i].y=(-0.168736)*(MagickRealType) i;
+ y_map[i].y=(-0.331264)*(MagickRealType) i;
+ z_map[i].y=0.500000*(MagickRealType) i;
+ x_map[i].z=0.500000*(MagickRealType) i;
+ y_map[i].z=(-0.418688)*(MagickRealType) i;
+ z_map[i].z=(-0.081312)*(MagickRealType) i;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.298839f*(MagickRealType) i;
- y_map[i].x=0.586811f*(MagickRealType) i;
- z_map[i].x=0.114350f*(MagickRealType) i;
- x_map[i].y=(-0.14740f)*(MagickRealType) i;
- y_map[i].y=(-0.28950f)*(MagickRealType) i;
- z_map[i].y=0.43690f*(MagickRealType) i;
- x_map[i].z=0.61500f*(MagickRealType) i;
- y_map[i].z=(-0.51500f)*(MagickRealType) i;
- z_map[i].z=(-0.10000f)*(MagickRealType) i;
+ x_map[i].x=0.298839*(MagickRealType) i;
+ y_map[i].x=0.586811*(MagickRealType) i;
+ z_map[i].x=0.114350*(MagickRealType) i;
+ x_map[i].y=(-0.14740)*(MagickRealType) i;
+ y_map[i].y=(-0.28950)*(MagickRealType) i;
+ z_map[i].y=0.43690*(MagickRealType) i;
+ x_map[i].z=0.61500*(MagickRealType) i;
+ y_map[i].z=(-0.51500)*(MagickRealType) i;
+ z_map[i].z=(-0.10000)*(MagickRealType) i;
}
break;
}
{
image->colorspace=colorspace;
image->rendering_intent=UndefinedIntent;
- image->gamma=1.000f;
+ image->gamma=1.000;
(void) ResetMagickMemory(&image->chromaticity,0,sizeof(image->chromaticity));
if (IssRGBColorspace(colorspace) != MagickFalse)
{
image->rendering_intent=PerceptualIntent;
- image->gamma=1.000f/2.200f;
- image->chromaticity.red_primary.x=0.6400f;
- image->chromaticity.red_primary.y=0.3300f;
- image->chromaticity.red_primary.z=0.0300f;
- image->chromaticity.green_primary.x=0.3000f;
- image->chromaticity.green_primary.y=0.6000f;
- image->chromaticity.green_primary.z=0.1000f;
- image->chromaticity.blue_primary.x=0.1500f;
- image->chromaticity.blue_primary.y=0.0600f;
- image->chromaticity.blue_primary.z=0.7900f;
- image->chromaticity.white_point.x=0.3127f;
- image->chromaticity.white_point.y=0.3290f;
+ image->gamma=1.000/2.200;
+ image->chromaticity.red_primary.x=0.6400;
+ image->chromaticity.red_primary.y=0.3300;
+ image->chromaticity.red_primary.z=0.0300;
+ image->chromaticity.green_primary.x=0.3000;
+ image->chromaticity.green_primary.y=0.6000;
+ image->chromaticity.green_primary.z=0.1000;
+ image->chromaticity.blue_primary.x=0.1500;
+ image->chromaticity.blue_primary.y=0.0600;
+ image->chromaticity.blue_primary.z=0.7900;
+ image->chromaticity.white_point.x=0.3127;
+ image->chromaticity.white_point.y=0.3290;
image->chromaticity.white_point.z=0.3583f;
}
return(SyncImagePixelCache(image,exception));
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.500000f*(2.000000*(MagickRealType) i-(MagickRealType)
+ y_map[i].x=0.500000*(2.000000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].x=(-0.333340f)*(2.000000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].x=(-0.333340)*(2.000000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=0.000000f;
- z_map[i].y=0.666665f*(2.000000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].y=0.000000;
+ z_map[i].y=0.666665*(2.000000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=(-0.500000f)*(2.000000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].z=(-0.500000)*(2.000000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].z=(-0.333340f)*(2.000000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].z=(-0.333340)*(2.000000*(MagickRealType) i-(MagickRealType)
MaxMap);
}
break;
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.000000f;
- z_map[i].x=(1.402000f*0.500000f)*(2.000000f*(MagickRealType) i-
+ y_map[i].x=0.000000;
+ z_map[i].x=(1.402000*0.500000)*(2.000000*(MagickRealType) i-
(MagickRealType) MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=(-0.344136f*0.500000f)*(2.000000f*(MagickRealType) i-
+ y_map[i].y=(-0.344136*0.500000)*(2.000000*(MagickRealType) i-
(MagickRealType) MaxMap);
- z_map[i].y=(-0.714136f*0.500000f)*(2.000000f*(MagickRealType) i-
+ z_map[i].y=(-0.714136*0.500000)*(2.000000*(MagickRealType) i-
(MagickRealType) MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=(1.772000f*0.500000f)*(2.000000f*(MagickRealType) i-
+ y_map[i].z=(1.772000*0.500000)*(2.000000*(MagickRealType) i-
(MagickRealType) MaxMap);
- z_map[i].z=0.000000f;
+ z_map[i].z=0.000000;
}
break;
}
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.000000f;
- z_map[i].x=(1.574800f*0.50000f)*(2.00000f*(MagickRealType) i-
+ y_map[i].x=0.000000;
+ z_map[i].x=(1.574800*0.50000)*(2.00000*(MagickRealType) i-
(MagickRealType) MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=(-0.187324f*0.50000f)*(2.00000f*(MagickRealType) i-
+ y_map[i].y=(-0.187324*0.50000)*(2.00000*(MagickRealType) i-
(MagickRealType) MaxMap);
- z_map[i].y=(-0.468124f*0.50000f)*(2.00000f*(MagickRealType) i-
+ z_map[i].y=(-0.468124*0.50000)*(2.00000*(MagickRealType) i-
(MagickRealType) MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=(1.855600f*0.50000f)*(2.00000f*(MagickRealType) i-
+ y_map[i].z=(1.855600*0.50000)*(2.00000*(MagickRealType) i-
(MagickRealType) MaxMap);
- z_map[i].z=0.00000f;
+ z_map[i].z=0.00000;
}
break;
}
v*=12.92f;
else
v=(MagickRealType) (1.055*pow((double) i/MaxMap,1.0/2.4)-0.055);
- x_map[i].x=1.0f*MaxMap*v;
- y_map[i].x=0.0f*MaxMap*v;
- z_map[i].x=0.0f*MaxMap*v;
- x_map[i].y=0.0f*MaxMap*v;
- y_map[i].y=1.0f*MaxMap*v;
- z_map[i].y=0.0f*MaxMap*v;
- x_map[i].z=0.0f*MaxMap*v;
- y_map[i].z=0.0f*MaxMap*v;
- z_map[i].z=1.0f*MaxMap*v;
+ x_map[i].x=1.0*MaxMap*v;
+ y_map[i].x=0.0*MaxMap*v;
+ z_map[i].x=0.0*MaxMap*v;
+ x_map[i].y=0.0*MaxMap*v;
+ y_map[i].y=1.0*MaxMap*v;
+ z_map[i].y=0.0*MaxMap*v;
+ x_map[i].z=0.0*MaxMap*v;
+ y_map[i].z=0.0*MaxMap*v;
+ z_map[i].z=1.0*MaxMap*v;
}
break;
}
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=1.3584000f*(MagickRealType) i;
- y_map[i].x=0.0000000f;
- z_map[i].x=1.8215000f*((MagickRealType) i-(MagickRealType)
+ x_map[i].x=1.3584000*(MagickRealType) i;
+ y_map[i].x=0.0000000;
+ z_map[i].x=1.8215000*((MagickRealType) i-(MagickRealType)
ScaleQuantumToMap(ScaleCharToQuantum(137)));
- x_map[i].y=1.3584000f*(MagickRealType) i;
- y_map[i].y=(-0.4302726f)*((MagickRealType) i-(MagickRealType)
+ x_map[i].y=1.3584000*(MagickRealType) i;
+ y_map[i].y=(-0.4302726)*((MagickRealType) i-(MagickRealType)
ScaleQuantumToMap(ScaleCharToQuantum(156)));
- z_map[i].y=(-0.9271435f)*((MagickRealType) i-(MagickRealType)
+ z_map[i].y=(-0.9271435)*((MagickRealType) i-(MagickRealType)
ScaleQuantumToMap(ScaleCharToQuantum(137)));
- x_map[i].z=1.3584000f*(MagickRealType) i;
- y_map[i].z=2.2179000f*((MagickRealType) i-(MagickRealType)
+ x_map[i].z=1.3584000*(MagickRealType) i;
+ y_map[i].z=2.2179000*((MagickRealType) i-(MagickRealType)
ScaleQuantumToMap(ScaleCharToQuantum(156)));
- z_map[i].z=0.0000000f;
+ z_map[i].z=0.0000000;
}
break;
}
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.47810f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].x=0.47810*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].x=0.31070f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].x=0.31070*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=(-0.13635f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].y=(-0.13635)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].y=(-0.32340f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].y=(-0.32340)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=(-0.55185f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].z=(-0.55185)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].z=0.85030f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].z=0.85030*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
}
break;
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.000000f;
- z_map[i].x=0.701000f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].x=0.000000;
+ z_map[i].x=0.701000*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=(-0.172068f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].y=(-0.172068)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].y=0.357068f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].y=0.357068*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=0.88600f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].z=0.88600*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].z=0.00000f;
+ z_map[i].z=0.00000;
}
break;
}
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.00000f;
- z_map[i].x=0.56990f*(2.0000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].x=0.00000;
+ z_map[i].x=0.56990*(2.0000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].y=(MagickRealType) i;
- y_map[i].y=(-0.19690f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].y=(-0.19690)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].y=(-0.29025f)*(2.00000f*(MagickRealType) i-(MagickRealType)
+ z_map[i].y=(-0.29025)*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
x_map[i].z=(MagickRealType) i;
- y_map[i].z=1.01395f*(2.00000f*(MagickRealType) i-(MagickRealType)
+ y_map[i].z=1.01395*(2.00000*(MagickRealType) i-(MagickRealType)
MaxMap);
- z_map[i].z=0.00000f;
+ z_map[i].z=0.00000;
}
break;
}
for (i=0; i <= (ssize_t) MaxMap; i++)
{
x_map[i].x=(MagickRealType) i;
- y_map[i].x=0.0f;
- z_map[i].x=0.0f;
- x_map[i].y=0.0f;
+ y_map[i].x=0.0;
+ z_map[i].x=0.0;
+ x_map[i].y=0.0;
y_map[i].y=(MagickRealType) i;
- z_map[i].y=0.0f;
- x_map[i].z=0.0f;
- y_map[i].z=0.0f;
+ z_map[i].y=0.0;
+ x_map[i].z=0.0;
+ y_map[i].z=0.0;
z_map[i].z=(MagickRealType) i;
}
break;
MagickPrivate void ConvertHSBTosRGB(const double hue,const double saturation,
const double brightness,double *red,double *green,double *blue)
{
- MagickRealType
+ double
f,
h,
p,
assert(blue != (double *) NULL);
if (saturation == 0.0)
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
+ *red=QuantumRange*brightness;
*green=(*red);
*blue=(*red);
return;
case 0:
default:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*t);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
+ *red=QuantumRange*sRGBCompanding(brightness);
+ *green=QuantumRange*sRGBCompanding(t);
+ *blue=QuantumRange*sRGBCompanding(p);
break;
}
case 1:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*q);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
+ *red=QuantumRange*sRGBCompanding(q);
+ *green=QuantumRange*sRGBCompanding(brightness);
+ *blue=QuantumRange*sRGBCompanding(p);
break;
}
case 2:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*t);
+ *red=QuantumRange*sRGBCompanding(p);
+ *green=QuantumRange*sRGBCompanding(brightness);
+ *blue=QuantumRange*sRGBCompanding(t);
break;
}
case 3:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*q);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
+ *red=QuantumRange*sRGBCompanding(p);
+ *green=QuantumRange*sRGBCompanding(q);
+ *blue=QuantumRange*sRGBCompanding(brightness);
break;
}
case 4:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*t);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
+ *red=QuantumRange*sRGBCompanding(t);
+ *green=QuantumRange*sRGBCompanding(p);
+ *blue=QuantumRange*sRGBCompanding(brightness);
break;
}
case 5:
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*brightness);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*p);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*q);
+ *red=QuantumRange*sRGBCompanding(brightness);
+ *green=QuantumRange*sRGBCompanding(p);
+ *blue=QuantumRange*sRGBCompanding(q);
break;
}
}
%
*/
-static inline MagickRealType ConvertHueTosRGB(MagickRealType m1,
- MagickRealType m2,MagickRealType hue)
+static inline double ConvertHueTosRGB(double m1,double m2,double hue)
{
if (hue < 0.0)
hue+=1.0;
MagickExport void ConvertHSLTosRGB(const double hue,const double saturation,
const double lightness,double *red,double *green,double *blue)
{
- MagickRealType
+ double
b,
g,
r,
assert(blue != (double *) NULL);
if (saturation == 0)
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*lightness);
+ *red=QuantumRange*lightness;
*green=(*red);
*blue=(*red);
return;
r=ConvertHueTosRGB(m1,m2,hue+1.0/3.0);
g=ConvertHueTosRGB(m1,m2,hue);
b=ConvertHueTosRGB(m1,m2,hue-1.0/3.0);
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*r);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*g);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*b);
+ *red=QuantumRange*sRGBCompanding(r);
+ *green=QuantumRange*sRGBCompanding(g);
+ *blue=QuantumRange*sRGBCompanding(b);
}
\f
/*
MagickPrivate void ConvertHWBTosRGB(const double hue,const double whiteness,
const double blackness,double *red,double *green,double *blue)
{
- MagickRealType
+ double
b,
f,
g,
v=1.0-blackness;
if (hue == -1.0)
{
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*v);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*v);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*v);
+ *red=QuantumRange*sRGBCompanding(v);
+ *green=QuantumRange*sRGBCompanding(v);
+ *blue=QuantumRange*sRGBCompanding(v);
return;
}
i=(ssize_t) floor(6.0*hue);
case 4: r=n; g=whiteness; b=v; break;
case 5: r=v; g=whiteness; b=n; break;
}
- *red=(double) ClampToQuantum((MagickRealType) QuantumRange*r);
- *green=(double) ClampToQuantum((MagickRealType) QuantumRange*g);
- *blue=(double) ClampToQuantum((MagickRealType) QuantumRange*b);
+ *red=QuantumRange*sRGBCompanding(r);
+ *green=QuantumRange*sRGBCompanding(g);
+ *blue=QuantumRange*sRGBCompanding(b);
}
\f
/*
MagickPrivate void ConvertsRGBToHSB(const double red,const double green,
const double blue,double *hue,double *saturation,double *brightness)
{
- MagickRealType
+ double
+ b,
delta,
+ g,
max,
- min;
+ min,
+ r;
/*
Convert RGB to HSB colorspace.
*hue=0.0;
*saturation=0.0;
*brightness=0.0;
- min=(MagickRealType) (red < green ? red : green);
- if ((MagickRealType) blue < min)
- min=(MagickRealType) blue;
- max=(MagickRealType) (red > green ? red : green);
- if ((MagickRealType) blue > max)
- max=(MagickRealType) blue;
+ r=QuantumRange*sRGBDecompanding(QuantumScale*red);
+ g=QuantumRange*sRGBDecompanding(QuantumScale*green);
+ b=QuantumRange*sRGBDecompanding(QuantumScale*blue);
+ min=r < g ? r : g;
+ if (b < min)
+ min=b;
+ max=r > g ? r : g;
+ if (b > max)
+ max=b;
if (max == 0.0)
return;
delta=max-min;
- *saturation=(double) (delta/max);
- *brightness=(double) (QuantumScale*max);
+ *saturation=delta/max;
+ *brightness=QuantumScale*max;
if (delta == 0.0)
return;
- if ((MagickRealType) red == max)
- *hue=(double) ((green-(MagickRealType) blue)/delta);
+ if (r == max)
+ *hue=(g-b)/delta;
else
- if ((MagickRealType) green == max)
- *hue=(double) (2.0+(blue-(MagickRealType) red)/delta);
+ if (g == max)
+ *hue=2.0+(b-r)/delta;
else
- *hue=(double) (4.0+(red-(MagickRealType) green)/delta);
+ *hue=4.0+(r-g)/delta;
*hue/=6.0;
if (*hue < 0.0)
*hue+=1.0;
MagickExport void ConvertsRGBToHSL(const double red,const double green,
const double blue,double *hue,double *saturation,double *lightness)
{
- MagickRealType
+ double
b,
delta,
g,
assert(hue != (double *) NULL);
assert(saturation != (double *) NULL);
assert(lightness != (double *) NULL);
- r=QuantumScale*red;
- g=QuantumScale*green;
- b=QuantumScale*blue;
+ r=sRGBDecompanding(QuantumScale*red);
+ g=sRGBDecompanding(QuantumScale*green);
+ b=sRGBDecompanding(QuantumScale*blue);
max=MagickMax(r,MagickMax(g,b));
min=MagickMin(r,MagickMin(g,b));
*lightness=(double) ((min+max)/2.0);
MagickPrivate void ConvertsRGBToHWB(const double red,const double green,
const double blue,double *hue,double *whiteness,double *blackness)
{
- long
- i;
-
- MagickRealType
+ double
+ b,
f,
+ g,
+ p,
+ r,
v,
w;
assert(hue != (double *) NULL);
assert(whiteness != (double *) NULL);
assert(blackness != (double *) NULL);
- w=(MagickRealType) MagickMin((double) red,MagickMin((double) green,(double)
- blue));
- v=(MagickRealType) MagickMax((double) red,MagickMax((double) green,(double)
- blue));
+ r=QuantumRange*sRGBDecompanding(QuantumScale*red);
+ g=QuantumRange*sRGBDecompanding(QuantumScale*green);
+ b=QuantumRange*sRGBDecompanding(QuantumScale*blue);
+ w=MagickMin(r,MagickMin(g,b));
+ v=MagickMax(r,MagickMax(g,b));
*blackness=1.0-QuantumScale*v;
*whiteness=QuantumScale*w;
if (v == w)
*hue=(-1.0);
return;
}
- f=((MagickRealType) red == w) ? green-(MagickRealType) blue :
- (((MagickRealType) green == w) ? blue-(MagickRealType) red : red-
- (MagickRealType) green);
- i=((MagickRealType) red == w) ? 3 : (((MagickRealType) green == w) ? 5 : 1);
- *hue=((double) i-f/(v-1.0*w))/6.0;
+ f=(r == w) ? g-b : ((g == w) ? b-r : r-g);
+ p=(r == w) ? 3.0 : ((g == w) ? 5.0 : 1.0);
+ *hue=(p-f/(v-1.0*w))/6.0;
}
\f
/*
if (gamma <= MagickEpsilon)
return(3UL);
alpha=MagickEpsilonReciprocal(2.0*gamma*gamma);
- beta=(double) MagickEpsilonReciprocal(MagickSQ2PI*gamma);
+ beta=(double) MagickEpsilonReciprocal((MagickRealType) MagickSQ2PI*gamma);
for (width=5; ; )
{
normalize=0.0;
if (gamma <= MagickEpsilon)
return(3UL);
alpha=MagickEpsilonReciprocal(2.0*gamma*gamma);
- beta=(double) MagickEpsilonReciprocal(Magick2PI*gamma*gamma);
+ beta=(double) MagickEpsilonReciprocal((MagickRealType) Magick2PI*gamma*gamma);
for (width=5; ; )
{
normalize=0.0;