129 assert(image != (
Image *) NULL);
173 const double blue,
double *cyan,
double *magenta,
double *yellow)
181 const double z,
double *L,
double *M,
double *S)
183 *L=0.7328*x+0.4296*y-0.1624*z;
184 *M=(-0.7036*x+1.6975*y+0.0061*z);
185 *S=0.0030*x+0.0136*y+0.9834*z;
189 const double blue,
double *L,
double *M,
double *S)
201 const double blue,
double *L,
double *a,
double *b)
213 const double blue,
double *L,
double *u,
double *v)
225 const double blue,
double *low_x,
double *low_y,
double *cap_Y)
241 const double blue,
double *Y,
double *Db,
double *Dr)
243 *Y=
QuantumScale*(0.298839*red+0.586811*green+0.114350*blue);
244 *Db=
QuantumScale*(-0.450*red-0.883*green+1.333*blue)+0.5;
245 *Dr=
QuantumScale*(-1.333*red+1.116*green+0.217*blue)+0.5;
249 const double blue,
double *Y,
double *I,
double *Q)
251 *Y=
QuantumScale*(0.298839*red+0.586811*green+0.114350*blue);
252 *I=
QuantumScale*(0.595716*red-0.274453*green-0.321263*blue)+0.5;
253 *Q=
QuantumScale*(0.211456*red-0.522591*green+0.311135*blue)+0.5;
257 const double blue,
double *Y,
double *Pb,
double *Pr)
259 *Y=
QuantumScale*(0.298839*red+0.586811*green+0.114350*blue);
260 *Pb=
QuantumScale*((-0.1687367)*red-0.331264*green+0.5*blue)+0.5;
261 *Pr=
QuantumScale*(0.5*red-0.418688*green-0.081312*blue)+0.5;
265 const double blue,
double *Y,
double *Cb,
double *Cr)
271 const double blue,
double *Y,
double *U,
double *V)
273 *Y=
QuantumScale*(0.298839*red+0.586811*green+0.114350*blue);
274 *U=
QuantumScale*((-0.147)*red-0.289*green+0.436*blue)+0.5;
281 #define sRGBTransformImageTag "RGBTransform/Image"
306 assert(image != (
Image *) NULL);
336 #if defined(MAGICKCORE_OPENMP_SUPPORT)
337 #pragma omp parallel for schedule(static) shared(status) \
338 magick_number_threads(image,image,image->rows,1)
340 for (y=0; y < (ssize_t) image->
rows; y++)
364 for (x=0; x < (ssize_t) image->
columns; x++)
395 #if defined(MAGICKCORE_OPENMP_SUPPORT)
396 #pragma omp parallel for schedule(static) shared(status) \
397 magick_number_threads(image,image,image->rows,1)
399 for (y=0; y < (ssize_t) image->
rows; y++)
419 for (x=0; x < (ssize_t) image->
columns; x++)
452 #if defined(MAGICKCORE_OPENMP_SUPPORT)
453 #pragma omp parallel for schedule(static) shared(status) \
454 magick_number_threads(image,image,image->rows,1)
456 for (y=0; y < (ssize_t) image->
rows; y++)
476 for (x=0; x < (ssize_t) image->
columns; x++)
529 #if defined(MAGICKCORE_OPENMP_SUPPORT)
530 #pragma omp parallel for schedule(static) shared(status) \
531 magick_number_threads(image,image,image->rows,1)
533 for (y=0; y < (ssize_t) image->
rows; y++)
553 for (x=0; x < (ssize_t) image->
columns; x++)
693 #define DisplayGamma (1.0/1.7)
694 #define FilmGamma 0.6
695 #define ReferenceBlack 95.0
696 #define ReferenceWhite 685.0
718 if (value != (
const char *) NULL)
722 if (value != (
const char *) NULL)
726 if (value != (
const char *) NULL)
730 if (value != (
const char *) NULL)
734 if (logmap == (
Quantum *) NULL)
737 black=pow(10.0,(reference_black-reference_white)*(gamma/density)*0.002/
739 #if defined(MAGICKCORE_OPENMP_SUPPORT)
740 #pragma omp parallel for schedule(static)
742 for (i=0; i <= (ssize_t)
MaxMap; i++)
743 logmap[i]=ScaleMapToQuantum((
double) (
MaxMap*(reference_white+
744 log10(black+(1.0*i/
MaxMap)*(1.0-black))/((gamma/density)*0.002/
745 film_gamma))/1024.0));
747 #if defined(MAGICKCORE_OPENMP_SUPPORT)
748 #pragma omp parallel for schedule(static) shared(status) \
749 magick_number_threads(image,image,image->rows,1)
751 for (y=0; y < (ssize_t) image->
rows; y++)
771 for (x=(ssize_t) image->
columns; x != 0; x--)
814 #if defined(MAGICKCORE_OPENMP_SUPPORT)
815 #pragma omp parallel for schedule(static) shared(status) \
816 magick_number_threads(image,image,image->rows,1)
818 for (y=0; y < (ssize_t) image->
rows; y++)
838 for (x=0; x < (ssize_t) image->
columns; x++)
887 (void) memset(&primary_info,0,
sizeof(primary_info));
902 primary_info.
y=(double) (
MaxMap+1.0)/2.0;
903 primary_info.
z=(double) (
MaxMap+1.0)/2.0;
904 #if defined(MAGICKCORE_OPENMP_SUPPORT)
905 #pragma omp parallel for schedule(static)
907 for (i=0; i <= (ssize_t)
MaxMap; i++)
933 primary_info.
y=(double) (
MaxMap+1.0)/2.0;
934 primary_info.
z=(double) (
MaxMap+1.0)/2.0;
935 #if defined(MAGICKCORE_OPENMP_SUPPORT)
936 #pragma omp parallel for schedule(static)
938 for (i=0; i <= (ssize_t)
MaxMap; i++)
964 primary_info.
y=(double) (
MaxMap+1.0)/2.0;
965 primary_info.
z=(double) (
MaxMap+1.0)/2.0;
966 #if defined(MAGICKCORE_OPENMP_SUPPORT)
967 #pragma omp parallel for schedule(static)
969 for (i=0; i <= (ssize_t)
MaxMap; i++)
994 primary_info.
y=(double) ScaleQuantumToMap(ScaleCharToQuantum(156));
995 primary_info.
z=(double) ScaleQuantumToMap(ScaleCharToQuantum(137));
996 for (i=0; i <= (ssize_t) (0.018*
MaxMap); i++)
998 x_map[i].
x=0.005382*i;
999 x_map[i].
y=(-0.003296)*i;
1000 x_map[i].
z=0.009410*i;
1001 y_map[i].
x=0.010566*i;
1002 y_map[i].
y=(-0.006471)*i;
1003 y_map[i].
z=(-0.007880)*i;
1004 z_map[i].
x=0.002052*i;
1005 z_map[i].
y=0.009768*i;
1006 z_map[i].
z=(-0.001530)*i;
1008 for ( ; i <= (ssize_t)
MaxMap; i++)
1010 x_map[i].
x=0.298839*(1.099*i-0.099);
1011 x_map[i].
y=(-0.298839)*(1.099*i-0.099);
1012 x_map[i].
z=0.70100*(1.099*i-0.099);
1013 y_map[i].
x=0.586811*(1.099*i-0.099);
1014 y_map[i].
y=(-0.586811)*(1.099*i-0.099);
1015 y_map[i].
z=(-0.586811)*(1.099*i-0.099);
1016 z_map[i].
x=0.114350*(1.099*i-0.099);
1017 z_map[i].
y=0.88600*(1.099*i-0.099);
1018 z_map[i].
z=(-0.114350)*(1.099*i-0.099);
1027 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1028 #pragma omp parallel for schedule(static)
1030 for (i=0; i <= (ssize_t)
MaxMap; i++)
1057 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1058 #pragma omp parallel for schedule(static) shared(status) \
1059 magick_number_threads(image,image,image->rows,1)
1061 for (y=0; y < (ssize_t) image->
rows; y++)
1075 register unsigned int
1089 for (x=0; x < (ssize_t) image->
columns; x++)
1097 pixel.
red=(x_map[red].
x+y_map[green].
x+z_map[blue].
x)+
1099 pixel.
green=(x_map[red].
y+y_map[green].
y+z_map[blue].
y)+
1101 pixel.
blue=(x_map[red].
z+y_map[green].
z+z_map[blue].
z)+
1116 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1131 register unsigned int
1139 for (i=0; i < (ssize_t) image->
colors; i++)
1147 pixel.
red=x_map[red].
x+y_map[green].
x+z_map[blue].
x+primary_info.
x;
1148 pixel.
green=x_map[red].
y+y_map[green].
y+z_map[blue].
y+primary_info.
y;
1149 pixel.
blue=x_map[red].
z+y_map[green].
z+z_map[blue].
z+primary_info.
z;
1205 assert(image != (
Image *) NULL);
1215 image->
gamma=1.000/2.200;
1285 assert(image != (
Image *) NULL);
1339 assert(image != (
Image *) NULL);
1393 assert(image != (
Image *) NULL);
1451 const double yellow,
double *red,
double *green,
double *blue)
1459 double *X,
double *Y,
double *Z)
1461 *X=1.096123820835514*L-0.278869000218287*M+0.182745179382773*S;
1462 *Y=0.454369041975359*L+0.473533154307412*M+0.072097803717229*S;
1463 *Z=(-0.009627608738429)*L-0.005698031216113*M+1.015325639954543*S;
1467 const double S,
double *red,
double *green,
double *blue)
1479 const double v,
double *red,
double *green,
double *blue)
1494 if (value >= 1388.0)
1496 return((ssize_t) (value+0.5));
1500 const double b,
double *red,
double *green,
double *blue)
1512 const double cap_Y,
double *red,
double *green,
double *blue)
1521 X=gamma*cap_Y*low_x;
1523 Z=gamma*cap_Y*(1.0-low_x-low_y);
1528 double *red,
double *green,
double *blue)
1530 *red=
QuantumRange*(0.99999999999914679361*Y-1.2188941887145875e-06*(Pb-0.5)+
1531 1.4019995886561440468*(Pr-0.5));
1532 *green=
QuantumRange*(0.99999975910502514331*Y-0.34413567816504303521*(Pb-0.5)-
1533 0.71413649331646789076*(Pr-0.5));
1534 *blue=
QuantumRange*(1.00000124040004623180*Y+1.77200006607230409200*(Pb-0.5)+
1535 2.1453384174593273e-06*(Pr-0.5));
1539 const double Cr,
double *red,
double *green,
double *blue)
1545 double *red,
double *green,
double *blue)
1547 *red=
QuantumRange*(Y+0.9562957197589482261*(I-0.5)+0.6210244164652610754*
1549 *green=
QuantumRange*(Y-0.2721220993185104464*(I-0.5)-0.6473805968256950427*
1551 *blue=
QuantumRange*(Y-1.1069890167364901945*(I-0.5)+1.7046149983646481374*
1556 double *red,
double *green,
double *blue)
1559 0.52591263066186533*(Dr-0.5));
1561 0.26789932820759876*(Dr-0.5));
1563 7.9202543533108e-05*(Dr-0.5));
1567 double *red,
double *green,
double *blue)
1569 *red=
QuantumRange*(Y-3.945707070708279e-05*(U-0.5)+1.1398279671717170825*
1571 *green=
QuantumRange*(Y-0.3946101641414141437*(U-0.5)-0.5805003156565656797*
1573 *blue=
QuantumRange*(Y+2.0319996843434342537*(U-0.5)-4.813762626262513e-04*
1580 #define TransformsRGBImageTag "Transform/Image"
1585 0.000000f, 0.000720f, 0.001441f, 0.002161f, 0.002882f, 0.003602f,
1586 0.004323f, 0.005043f, 0.005764f, 0.006484f, 0.007205f, 0.007925f,
1587 0.008646f, 0.009366f, 0.010086f, 0.010807f, 0.011527f, 0.012248f,
1588 0.012968f, 0.013689f, 0.014409f, 0.015130f, 0.015850f, 0.016571f,
1589 0.017291f, 0.018012f, 0.018732f, 0.019452f, 0.020173f, 0.020893f,
1590 0.021614f, 0.022334f, 0.023055f, 0.023775f, 0.024496f, 0.025216f,
1591 0.025937f, 0.026657f, 0.027378f, 0.028098f, 0.028818f, 0.029539f,
1592 0.030259f, 0.030980f, 0.031700f, 0.032421f, 0.033141f, 0.033862f,
1593 0.034582f, 0.035303f, 0.036023f, 0.036744f, 0.037464f, 0.038184f,
1594 0.038905f, 0.039625f, 0.040346f, 0.041066f, 0.041787f, 0.042507f,
1595 0.043228f, 0.043948f, 0.044669f, 0.045389f, 0.046110f, 0.046830f,
1596 0.047550f, 0.048271f, 0.048991f, 0.049712f, 0.050432f, 0.051153f,
1597 0.051873f, 0.052594f, 0.053314f, 0.054035f, 0.054755f, 0.055476f,
1598 0.056196f, 0.056916f, 0.057637f, 0.058357f, 0.059078f, 0.059798f,
1599 0.060519f, 0.061239f, 0.061960f, 0.062680f, 0.063401f, 0.064121f,
1600 0.064842f, 0.065562f, 0.066282f, 0.067003f, 0.067723f, 0.068444f,
1601 0.069164f, 0.069885f, 0.070605f, 0.071326f, 0.072046f, 0.072767f,
1602 0.073487f, 0.074207f, 0.074928f, 0.075648f, 0.076369f, 0.077089f,
1603 0.077810f, 0.078530f, 0.079251f, 0.079971f, 0.080692f, 0.081412f,
1604 0.082133f, 0.082853f, 0.083573f, 0.084294f, 0.085014f, 0.085735f,
1605 0.086455f, 0.087176f, 0.087896f, 0.088617f, 0.089337f, 0.090058f,
1606 0.090778f, 0.091499f, 0.092219f, 0.092939f, 0.093660f, 0.094380f,
1607 0.095101f, 0.095821f, 0.096542f, 0.097262f, 0.097983f, 0.098703f,
1608 0.099424f, 0.100144f, 0.100865f, 0.101585f, 0.102305f, 0.103026f,
1609 0.103746f, 0.104467f, 0.105187f, 0.105908f, 0.106628f, 0.107349f,
1610 0.108069f, 0.108790f, 0.109510f, 0.110231f, 0.110951f, 0.111671f,
1611 0.112392f, 0.113112f, 0.113833f, 0.114553f, 0.115274f, 0.115994f,
1612 0.116715f, 0.117435f, 0.118156f, 0.118876f, 0.119597f, 0.120317f,
1613 0.121037f, 0.121758f, 0.122478f, 0.123199f, 0.123919f, 0.124640f,
1614 0.125360f, 0.126081f, 0.126801f, 0.127522f, 0.128242f, 0.128963f,
1615 0.129683f, 0.130403f, 0.131124f, 0.131844f, 0.132565f, 0.133285f,
1616 0.134006f, 0.134726f, 0.135447f, 0.136167f, 0.136888f, 0.137608f,
1617 0.138329f, 0.139049f, 0.139769f, 0.140490f, 0.141210f, 0.141931f,
1618 0.142651f, 0.143372f, 0.144092f, 0.144813f, 0.145533f, 0.146254f,
1619 0.146974f, 0.147695f, 0.148415f, 0.149135f, 0.149856f, 0.150576f,
1620 0.151297f, 0.152017f, 0.152738f, 0.153458f, 0.154179f, 0.154899f,
1621 0.155620f, 0.156340f, 0.157061f, 0.157781f, 0.158501f, 0.159222f,
1622 0.159942f, 0.160663f, 0.161383f, 0.162104f, 0.162824f, 0.163545f,
1623 0.164265f, 0.164986f, 0.165706f, 0.166427f, 0.167147f, 0.167867f,
1624 0.168588f, 0.169308f, 0.170029f, 0.170749f, 0.171470f, 0.172190f,
1625 0.172911f, 0.173631f, 0.174352f, 0.175072f, 0.175793f, 0.176513f,
1626 0.177233f, 0.177954f, 0.178674f, 0.179395f, 0.180115f, 0.180836f,
1627 0.181556f, 0.182277f, 0.182997f, 0.183718f, 0.184438f, 0.185159f,
1628 0.185879f, 0.186599f, 0.187320f, 0.188040f, 0.188761f, 0.189481f,
1629 0.190202f, 0.190922f, 0.191643f, 0.192363f, 0.193084f, 0.193804f,
1630 0.194524f, 0.195245f, 0.195965f, 0.196686f, 0.197406f, 0.198127f,
1631 0.198847f, 0.199568f, 0.200288f, 0.201009f, 0.201729f, 0.202450f,
1632 0.203170f, 0.203890f, 0.204611f, 0.205331f, 0.206052f, 0.206772f,
1633 0.207493f, 0.208213f, 0.208934f, 0.209654f, 0.210375f, 0.211095f,
1634 0.211816f, 0.212536f, 0.213256f, 0.213977f, 0.214697f, 0.215418f,
1635 0.216138f, 0.216859f, 0.217579f, 0.218300f, 0.219020f, 0.219741f,
1636 0.220461f, 0.221182f, 0.221902f, 0.222622f, 0.223343f, 0.224063f,
1637 0.224784f, 0.225504f, 0.226225f, 0.226945f, 0.227666f, 0.228386f,
1638 0.229107f, 0.229827f, 0.230548f, 0.231268f, 0.231988f, 0.232709f,
1639 0.233429f, 0.234150f, 0.234870f, 0.235591f, 0.236311f, 0.237032f,
1640 0.237752f, 0.238473f, 0.239193f, 0.239914f, 0.240634f, 0.241354f,
1641 0.242075f, 0.242795f, 0.243516f, 0.244236f, 0.244957f, 0.245677f,
1642 0.246398f, 0.247118f, 0.247839f, 0.248559f, 0.249280f, 0.250000f,
1643 0.250720f, 0.251441f, 0.252161f, 0.252882f, 0.253602f, 0.254323f,
1644 0.255043f, 0.255764f, 0.256484f, 0.257205f, 0.257925f, 0.258646f,
1645 0.259366f, 0.260086f, 0.260807f, 0.261527f, 0.262248f, 0.262968f,
1646 0.263689f, 0.264409f, 0.265130f, 0.265850f, 0.266571f, 0.267291f,
1647 0.268012f, 0.268732f, 0.269452f, 0.270173f, 0.270893f, 0.271614f,
1648 0.272334f, 0.273055f, 0.273775f, 0.274496f, 0.275216f, 0.275937f,
1649 0.276657f, 0.277378f, 0.278098f, 0.278818f, 0.279539f, 0.280259f,
1650 0.280980f, 0.281700f, 0.282421f, 0.283141f, 0.283862f, 0.284582f,
1651 0.285303f, 0.286023f, 0.286744f, 0.287464f, 0.288184f, 0.288905f,
1652 0.289625f, 0.290346f, 0.291066f, 0.291787f, 0.292507f, 0.293228f,
1653 0.293948f, 0.294669f, 0.295389f, 0.296109f, 0.296830f, 0.297550f,
1654 0.298271f, 0.298991f, 0.299712f, 0.300432f, 0.301153f, 0.301873f,
1655 0.302594f, 0.303314f, 0.304035f, 0.304755f, 0.305476f, 0.306196f,
1656 0.306916f, 0.307637f, 0.308357f, 0.309078f, 0.309798f, 0.310519f,
1657 0.311239f, 0.311960f, 0.312680f, 0.313401f, 0.314121f, 0.314842f,
1658 0.315562f, 0.316282f, 0.317003f, 0.317723f, 0.318444f, 0.319164f,
1659 0.319885f, 0.320605f, 0.321326f, 0.322046f, 0.322767f, 0.323487f,
1660 0.324207f, 0.324928f, 0.325648f, 0.326369f, 0.327089f, 0.327810f,
1661 0.328530f, 0.329251f, 0.329971f, 0.330692f, 0.331412f, 0.332133f,
1662 0.332853f, 0.333573f, 0.334294f, 0.335014f, 0.335735f, 0.336455f,
1663 0.337176f, 0.337896f, 0.338617f, 0.339337f, 0.340058f, 0.340778f,
1664 0.341499f, 0.342219f, 0.342939f, 0.343660f, 0.344380f, 0.345101f,
1665 0.345821f, 0.346542f, 0.347262f, 0.347983f, 0.348703f, 0.349424f,
1666 0.350144f, 0.350865f, 0.351585f, 0.352305f, 0.353026f, 0.353746f,
1667 0.354467f, 0.355187f, 0.355908f, 0.356628f, 0.357349f, 0.358069f,
1668 0.358790f, 0.359510f, 0.360231f, 0.360951f, 0.361671f, 0.362392f,
1669 0.363112f, 0.363833f, 0.364553f, 0.365274f, 0.365994f, 0.366715f,
1670 0.367435f, 0.368156f, 0.368876f, 0.369597f, 0.370317f, 0.371037f,
1671 0.371758f, 0.372478f, 0.373199f, 0.373919f, 0.374640f, 0.375360f,
1672 0.376081f, 0.376801f, 0.377522f, 0.378242f, 0.378963f, 0.379683f,
1673 0.380403f, 0.381124f, 0.381844f, 0.382565f, 0.383285f, 0.384006f,
1674 0.384726f, 0.385447f, 0.386167f, 0.386888f, 0.387608f, 0.388329f,
1675 0.389049f, 0.389769f, 0.390490f, 0.391210f, 0.391931f, 0.392651f,
1676 0.393372f, 0.394092f, 0.394813f, 0.395533f, 0.396254f, 0.396974f,
1677 0.397695f, 0.398415f, 0.399135f, 0.399856f, 0.400576f, 0.401297f,
1678 0.402017f, 0.402738f, 0.403458f, 0.404179f, 0.404899f, 0.405620f,
1679 0.406340f, 0.407061f, 0.407781f, 0.408501f, 0.409222f, 0.409942f,
1680 0.410663f, 0.411383f, 0.412104f, 0.412824f, 0.413545f, 0.414265f,
1681 0.414986f, 0.415706f, 0.416427f, 0.417147f, 0.417867f, 0.418588f,
1682 0.419308f, 0.420029f, 0.420749f, 0.421470f, 0.422190f, 0.422911f,
1683 0.423631f, 0.424352f, 0.425072f, 0.425793f, 0.426513f, 0.427233f,
1684 0.427954f, 0.428674f, 0.429395f, 0.430115f, 0.430836f, 0.431556f,
1685 0.432277f, 0.432997f, 0.433718f, 0.434438f, 0.435158f, 0.435879f,
1686 0.436599f, 0.437320f, 0.438040f, 0.438761f, 0.439481f, 0.440202f,
1687 0.440922f, 0.441643f, 0.442363f, 0.443084f, 0.443804f, 0.444524f,
1688 0.445245f, 0.445965f, 0.446686f, 0.447406f, 0.448127f, 0.448847f,
1689 0.449568f, 0.450288f, 0.451009f, 0.451729f, 0.452450f, 0.453170f,
1690 0.453891f, 0.454611f, 0.455331f, 0.456052f, 0.456772f, 0.457493f,
1691 0.458213f, 0.458934f, 0.459654f, 0.460375f, 0.461095f, 0.461816f,
1692 0.462536f, 0.463256f, 0.463977f, 0.464697f, 0.465418f, 0.466138f,
1693 0.466859f, 0.467579f, 0.468300f, 0.469020f, 0.469741f, 0.470461f,
1694 0.471182f, 0.471902f, 0.472622f, 0.473343f, 0.474063f, 0.474784f,
1695 0.475504f, 0.476225f, 0.476945f, 0.477666f, 0.478386f, 0.479107f,
1696 0.479827f, 0.480548f, 0.481268f, 0.481988f, 0.482709f, 0.483429f,
1697 0.484150f, 0.484870f, 0.485591f, 0.486311f, 0.487032f, 0.487752f,
1698 0.488473f, 0.489193f, 0.489914f, 0.490634f, 0.491354f, 0.492075f,
1699 0.492795f, 0.493516f, 0.494236f, 0.494957f, 0.495677f, 0.496398f,
1700 0.497118f, 0.497839f, 0.498559f, 0.499280f, 0.500000f, 0.500720f,
1701 0.501441f, 0.502161f, 0.502882f, 0.503602f, 0.504323f, 0.505043f,
1702 0.505764f, 0.506484f, 0.507205f, 0.507925f, 0.508646f, 0.509366f,
1703 0.510086f, 0.510807f, 0.511527f, 0.512248f, 0.512968f, 0.513689f,
1704 0.514409f, 0.515130f, 0.515850f, 0.516571f, 0.517291f, 0.518012f,
1705 0.518732f, 0.519452f, 0.520173f, 0.520893f, 0.521614f, 0.522334f,
1706 0.523055f, 0.523775f, 0.524496f, 0.525216f, 0.525937f, 0.526657f,
1707 0.527378f, 0.528098f, 0.528818f, 0.529539f, 0.530259f, 0.530980f,
1708 0.531700f, 0.532421f, 0.533141f, 0.533862f, 0.534582f, 0.535303f,
1709 0.536023f, 0.536744f, 0.537464f, 0.538184f, 0.538905f, 0.539625f,
1710 0.540346f, 0.541066f, 0.541787f, 0.542507f, 0.543228f, 0.543948f,
1711 0.544669f, 0.545389f, 0.546109f, 0.546830f, 0.547550f, 0.548271f,
1712 0.548991f, 0.549712f, 0.550432f, 0.551153f, 0.551873f, 0.552594f,
1713 0.553314f, 0.554035f, 0.554755f, 0.555476f, 0.556196f, 0.556916f,
1714 0.557637f, 0.558357f, 0.559078f, 0.559798f, 0.560519f, 0.561239f,
1715 0.561960f, 0.562680f, 0.563401f, 0.564121f, 0.564842f, 0.565562f,
1716 0.566282f, 0.567003f, 0.567723f, 0.568444f, 0.569164f, 0.569885f,
1717 0.570605f, 0.571326f, 0.572046f, 0.572767f, 0.573487f, 0.574207f,
1718 0.574928f, 0.575648f, 0.576369f, 0.577089f, 0.577810f, 0.578530f,
1719 0.579251f, 0.579971f, 0.580692f, 0.581412f, 0.582133f, 0.582853f,
1720 0.583573f, 0.584294f, 0.585014f, 0.585735f, 0.586455f, 0.587176f,
1721 0.587896f, 0.588617f, 0.589337f, 0.590058f, 0.590778f, 0.591499f,
1722 0.592219f, 0.592939f, 0.593660f, 0.594380f, 0.595101f, 0.595821f,
1723 0.596542f, 0.597262f, 0.597983f, 0.598703f, 0.599424f, 0.600144f,
1724 0.600865f, 0.601585f, 0.602305f, 0.603026f, 0.603746f, 0.604467f,
1725 0.605187f, 0.605908f, 0.606628f, 0.607349f, 0.608069f, 0.608790f,
1726 0.609510f, 0.610231f, 0.610951f, 0.611671f, 0.612392f, 0.613112f,
1727 0.613833f, 0.614553f, 0.615274f, 0.615994f, 0.616715f, 0.617435f,
1728 0.618156f, 0.618876f, 0.619597f, 0.620317f, 0.621037f, 0.621758f,
1729 0.622478f, 0.623199f, 0.623919f, 0.624640f, 0.625360f, 0.626081f,
1730 0.626801f, 0.627522f, 0.628242f, 0.628963f, 0.629683f, 0.630403f,
1731 0.631124f, 0.631844f, 0.632565f, 0.633285f, 0.634006f, 0.634726f,
1732 0.635447f, 0.636167f, 0.636888f, 0.637608f, 0.638329f, 0.639049f,
1733 0.639769f, 0.640490f, 0.641210f, 0.641931f, 0.642651f, 0.643372f,
1734 0.644092f, 0.644813f, 0.645533f, 0.646254f, 0.646974f, 0.647695f,
1735 0.648415f, 0.649135f, 0.649856f, 0.650576f, 0.651297f, 0.652017f,
1736 0.652738f, 0.653458f, 0.654179f, 0.654899f, 0.655620f, 0.656340f,
1737 0.657061f, 0.657781f, 0.658501f, 0.659222f, 0.659942f, 0.660663f,
1738 0.661383f, 0.662104f, 0.662824f, 0.663545f, 0.664265f, 0.664986f,
1739 0.665706f, 0.666427f, 0.667147f, 0.667867f, 0.668588f, 0.669308f,
1740 0.670029f, 0.670749f, 0.671470f, 0.672190f, 0.672911f, 0.673631f,
1741 0.674352f, 0.675072f, 0.675793f, 0.676513f, 0.677233f, 0.677954f,
1742 0.678674f, 0.679395f, 0.680115f, 0.680836f, 0.681556f, 0.682277f,
1743 0.682997f, 0.683718f, 0.684438f, 0.685158f, 0.685879f, 0.686599f,
1744 0.687320f, 0.688040f, 0.688761f, 0.689481f, 0.690202f, 0.690922f,
1745 0.691643f, 0.692363f, 0.693084f, 0.693804f, 0.694524f, 0.695245f,
1746 0.695965f, 0.696686f, 0.697406f, 0.698127f, 0.698847f, 0.699568f,
1747 0.700288f, 0.701009f, 0.701729f, 0.702450f, 0.703170f, 0.703891f,
1748 0.704611f, 0.705331f, 0.706052f, 0.706772f, 0.707493f, 0.708213f,
1749 0.708934f, 0.709654f, 0.710375f, 0.711095f, 0.711816f, 0.712536f,
1750 0.713256f, 0.713977f, 0.714697f, 0.715418f, 0.716138f, 0.716859f,
1751 0.717579f, 0.718300f, 0.719020f, 0.719741f, 0.720461f, 0.721182f,
1752 0.721902f, 0.722622f, 0.723343f, 0.724063f, 0.724784f, 0.725504f,
1753 0.726225f, 0.726945f, 0.727666f, 0.728386f, 0.729107f, 0.729827f,
1754 0.730548f, 0.731268f, 0.731988f, 0.732709f, 0.733429f, 0.734150f,
1755 0.734870f, 0.735591f, 0.736311f, 0.737032f, 0.737752f, 0.738473f,
1756 0.739193f, 0.739914f, 0.740634f, 0.741354f, 0.742075f, 0.742795f,
1757 0.743516f, 0.744236f, 0.744957f, 0.745677f, 0.746398f, 0.747118f,
1758 0.747839f, 0.748559f, 0.749280f, 0.750000f, 0.750720f, 0.751441f,
1759 0.752161f, 0.752882f, 0.753602f, 0.754323f, 0.755043f, 0.755764f,
1760 0.756484f, 0.757205f, 0.757925f, 0.758646f, 0.759366f, 0.760086f,
1761 0.760807f, 0.761527f, 0.762248f, 0.762968f, 0.763689f, 0.764409f,
1762 0.765130f, 0.765850f, 0.766571f, 0.767291f, 0.768012f, 0.768732f,
1763 0.769452f, 0.770173f, 0.770893f, 0.771614f, 0.772334f, 0.773055f,
1764 0.773775f, 0.774496f, 0.775216f, 0.775937f, 0.776657f, 0.777378f,
1765 0.778098f, 0.778818f, 0.779539f, 0.780259f, 0.780980f, 0.781700f,
1766 0.782421f, 0.783141f, 0.783862f, 0.784582f, 0.785303f, 0.786023f,
1767 0.786744f, 0.787464f, 0.788184f, 0.788905f, 0.789625f, 0.790346f,
1768 0.791066f, 0.791787f, 0.792507f, 0.793228f, 0.793948f, 0.794669f,
1769 0.795389f, 0.796109f, 0.796830f, 0.797550f, 0.798271f, 0.798991f,
1770 0.799712f, 0.800432f, 0.801153f, 0.801873f, 0.802594f, 0.803314f,
1771 0.804035f, 0.804755f, 0.805476f, 0.806196f, 0.806916f, 0.807637f,
1772 0.808357f, 0.809078f, 0.809798f, 0.810519f, 0.811239f, 0.811960f,
1773 0.812680f, 0.813401f, 0.814121f, 0.814842f, 0.815562f, 0.816282f,
1774 0.817003f, 0.817723f, 0.818444f, 0.819164f, 0.819885f, 0.820605f,
1775 0.821326f, 0.822046f, 0.822767f, 0.823487f, 0.824207f, 0.824928f,
1776 0.825648f, 0.826369f, 0.827089f, 0.827810f, 0.828530f, 0.829251f,
1777 0.829971f, 0.830692f, 0.831412f, 0.832133f, 0.832853f, 0.833573f,
1778 0.834294f, 0.835014f, 0.835735f, 0.836455f, 0.837176f, 0.837896f,
1779 0.838617f, 0.839337f, 0.840058f, 0.840778f, 0.841499f, 0.842219f,
1780 0.842939f, 0.843660f, 0.844380f, 0.845101f, 0.845821f, 0.846542f,
1781 0.847262f, 0.847983f, 0.848703f, 0.849424f, 0.850144f, 0.850865f,
1782 0.851585f, 0.852305f, 0.853026f, 0.853746f, 0.854467f, 0.855187f,
1783 0.855908f, 0.856628f, 0.857349f, 0.858069f, 0.858790f, 0.859510f,
1784 0.860231f, 0.860951f, 0.861671f, 0.862392f, 0.863112f, 0.863833f,
1785 0.864553f, 0.865274f, 0.865994f, 0.866715f, 0.867435f, 0.868156f,
1786 0.868876f, 0.869597f, 0.870317f, 0.871037f, 0.871758f, 0.872478f,
1787 0.873199f, 0.873919f, 0.874640f, 0.875360f, 0.876081f, 0.876801f,
1788 0.877522f, 0.878242f, 0.878963f, 0.879683f, 0.880403f, 0.881124f,
1789 0.881844f, 0.882565f, 0.883285f, 0.884006f, 0.884726f, 0.885447f,
1790 0.886167f, 0.886888f, 0.887608f, 0.888329f, 0.889049f, 0.889769f,
1791 0.890490f, 0.891210f, 0.891931f, 0.892651f, 0.893372f, 0.894092f,
1792 0.894813f, 0.895533f, 0.896254f, 0.896974f, 0.897695f, 0.898415f,
1793 0.899135f, 0.899856f, 0.900576f, 0.901297f, 0.902017f, 0.902738f,
1794 0.903458f, 0.904179f, 0.904899f, 0.905620f, 0.906340f, 0.907061f,
1795 0.907781f, 0.908501f, 0.909222f, 0.909942f, 0.910663f, 0.911383f,
1796 0.912104f, 0.912824f, 0.913545f, 0.914265f, 0.914986f, 0.915706f,
1797 0.916427f, 0.917147f, 0.917867f, 0.918588f, 0.919308f, 0.920029f,
1798 0.920749f, 0.921470f, 0.922190f, 0.922911f, 0.923631f, 0.924352f,
1799 0.925072f, 0.925793f, 0.926513f, 0.927233f, 0.927954f, 0.928674f,
1800 0.929395f, 0.930115f, 0.930836f, 0.931556f, 0.932277f, 0.932997f,
1801 0.933718f, 0.934438f, 0.935158f, 0.935879f, 0.936599f, 0.937320f,
1802 0.938040f, 0.938761f, 0.939481f, 0.940202f, 0.940922f, 0.941643f,
1803 0.942363f, 0.943084f, 0.943804f, 0.944524f, 0.945245f, 0.945965f,
1804 0.946686f, 0.947406f, 0.948127f, 0.948847f, 0.949568f, 0.950288f,
1805 0.951009f, 0.951729f, 0.952450f, 0.953170f, 0.953891f, 0.954611f,
1806 0.955331f, 0.956052f, 0.956772f, 0.957493f, 0.958213f, 0.958934f,
1807 0.959654f, 0.960375f, 0.961095f, 0.961816f, 0.962536f, 0.963256f,
1808 0.963977f, 0.964697f, 0.965418f, 0.966138f, 0.966859f, 0.967579f,
1809 0.968300f, 0.969020f, 0.969741f, 0.970461f, 0.971182f, 0.971902f,
1810 0.972622f, 0.973343f, 0.974063f, 0.974784f, 0.975504f, 0.976225f,
1811 0.976945f, 0.977666f, 0.978386f, 0.979107f, 0.979827f, 0.980548f,
1812 0.981268f, 0.981988f, 0.982709f, 0.983429f, 0.984150f, 0.984870f,
1813 0.985591f, 0.986311f, 0.987032f, 0.987752f, 0.988473f, 0.989193f,
1814 0.989914f, 0.990634f, 0.991354f, 0.992075f, 0.992795f, 0.993516f,
1815 0.994236f, 0.994957f, 0.995677f, 0.996398f, 0.997118f, 0.997839f,
1816 0.998559f, 0.999280f, 1.000000f
1839 assert(image != (
Image *) NULL);
1864 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1865 #pragma omp parallel for schedule(static) shared(status) \
1866 magick_number_threads(image,image,image->rows,1)
1868 for (y=0; y < (ssize_t) image->
rows; y++)
1892 for (x=0; x < (ssize_t) image->
columns; x++)
1923 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1924 #pragma omp parallel for schedule(static) shared(status) \
1925 magick_number_threads(image,image,image->rows,1)
1927 for (y=0; y < (ssize_t) image->
rows; y++)
1947 for (x=(ssize_t) image->
columns; x != 0; x--)
1984 #if defined(MAGICKCORE_OPENMP_SUPPORT)
1985 #pragma omp parallel for schedule(static) shared(status) \
1986 magick_number_threads(image,image,image->rows,1)
1988 for (y=0; y < (ssize_t) image->
rows; y++)
2008 for (x=(ssize_t) image->
columns; x != 0; x--)
2062 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2063 #pragma omp parallel for schedule(static) shared(status) \
2064 magick_number_threads(image,image,image->rows,1)
2066 for (y=0; y < (ssize_t) image->
rows; y++)
2086 for (x=0; x < (ssize_t) image->
columns; x++)
2246 if (value != (
const char *) NULL)
2250 if (value != (
const char *) NULL)
2254 if (value != (
const char *) NULL)
2258 if (value != (
const char *) NULL)
2262 if (logmap == (
Quantum *) NULL)
2265 black=pow(10.0,(reference_black-reference_white)*(gamma/density)*0.002/
2267 for (i=0; i <= (ssize_t) (reference_black*
MaxMap/1024.0); i++)
2269 for ( ; i < (ssize_t) (reference_white*
MaxMap/1024.0); i++)
2271 (pow(10.0,(1024.0*i/
MaxMap-reference_white)*(gamma/density)*0.002/
2272 film_gamma)-black));
2273 for ( ; i <= (ssize_t)
MaxMap; i++)
2283 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2284 #pragma omp parallel for schedule(static) shared(status) \
2285 magick_number_threads(image,image,image->rows,1)
2287 for (y=0; y < (ssize_t) image->
rows; y++)
2307 for (x=(ssize_t) image->
columns; x != 0; x--)
2314 red=(double) logmap[ScaleQuantumToMap(
GetPixelRed(image,q))];
2315 green=(double) logmap[ScaleQuantumToMap(
GetPixelGreen(image,q))];
2316 blue=(double) logmap[ScaleQuantumToMap(
GetPixelBlue(image,q))];
2349 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2350 #pragma omp parallel for schedule(static) shared(status) \
2351 magick_number_threads(image,image,image->rows,1)
2353 for (y=0; y < (ssize_t) image->
rows; y++)
2373 for (x=(ssize_t) image->
columns; x != 0; x--)
2439 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2440 #pragma omp parallel for schedule(static)
2442 for (i=0; i <= (ssize_t)
MaxMap; i++)
2468 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2469 #pragma omp parallel for schedule(static) \
2470 magick_number_threads(image,image,image->rows,1)
2472 for (i=0; i <= (ssize_t)
MaxMap; i++)
2474 x_map[i].
x=0.99999999999914679361*(double) i;
2475 y_map[i].
x=0.5*(-1.2188941887145875e-06)*(2.00*(
double) i-
MaxMap);
2476 z_map[i].
x=0.5*1.4019995886561440468*(2.00*(double) i-
MaxMap);
2477 x_map[i].
y=0.99999975910502514331*(double) i;
2478 y_map[i].
y=0.5*(-0.34413567816504303521)*(2.00*(double) i-
MaxMap);
2479 z_map[i].
y=0.5*(-0.71413649331646789076)*(2.00*(double) i-
MaxMap);
2480 x_map[i].
z=1.00000124040004623180*(double) i;
2481 y_map[i].
z=0.5*1.77200006607230409200*(2.00*(double) i-
MaxMap);
2482 z_map[i].
z=0.5*2.1453384174593273e-06*(2.00*(double) i-
MaxMap);
2498 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2499 #pragma omp parallel for schedule(static) \
2500 magick_number_threads(image,image,image->rows,1)
2502 for (i=0; i <= (ssize_t)
MaxMap; i++)
2527 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2528 #pragma omp parallel for schedule(static) \
2529 magick_number_threads(image,image,image->rows,1)
2531 for (i=0; i <= (ssize_t)
MaxMap; i++)
2536 ScaleQuantumToMap(ScaleCharToQuantum(137))));
2539 ScaleQuantumToMap(ScaleCharToQuantum(156))));
2541 ScaleQuantumToMap(ScaleCharToQuantum(137))));
2544 ScaleQuantumToMap(ScaleCharToQuantum(156))));
2554 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2555 #pragma omp parallel for schedule(static) \
2556 magick_number_threads(image,image,image->rows,1)
2558 for (i=0; i <= (ssize_t)
MaxMap; i++)
2585 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2586 #pragma omp parallel for schedule(static) shared(status) \
2587 magick_number_threads(image,image,image->rows,1)
2589 for (y=0; y < (ssize_t) image->
rows; y++)
2612 for (x=0; x < (ssize_t) image->
columns; x++)
2622 pixel.
red=x_map[red].
x+y_map[green].
x+z_map[blue].
x;
2623 pixel.
green=x_map[red].
y+y_map[green].
y+z_map[blue].
y;
2624 pixel.
blue=x_map[red].
z+y_map[green].
z+z_map[blue].
z;
2653 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2671 #if defined(MAGICKCORE_OPENMP_SUPPORT)
2672 #pragma omp parallel for schedule(static) shared(status) \
2673 magick_number_threads(image,image,image->rows,1)
2675 for (i=0; i < (ssize_t) image->
colors; i++)
2688 pixel.
red=x_map[red].
x+y_map[green].
x+z_map[blue].
x;
2689 pixel.
green=x_map[red].
y+y_map[green].
y+z_map[blue].
y;
2690 pixel.
blue=x_map[red].
z+y_map[green].
z+z_map[blue].
z;
MagickExport MagickRealType EncodePixelGamma(const MagickRealType pixel)
MagickDoubleType MagickRealType
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
MagickExport MagickBooleanType IsStringFalse(const char *value)
MagickPrivate void ConvertLCHabToRGB(const double, const double, const double, double *, double *, double *)
MagickExport void ConvertRGBToHSL(const double red, const double green, const double blue, double *hue, double *saturation, double *lightness)
MagickPrivate void ConvertHSIToRGB(const double, const double, const double, double *, double *, double *)
static void ConvertRGBToYUV(const double red, const double green, const double blue, double *Y, double *U, double *V)
MagickProgressMonitor progress_monitor
MagickExport MagickBooleanType SyncImage(Image *image, ExceptionInfo *exception)
static void ConvertLMSToXYZ(const double L, const double M, const double S, double *X, double *Y, double *Z)
#define TransformsRGBImageTag
MagickExport MagickBooleanType TransformImageColorspace(Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
static Quantum GetPixelRed(const Image *magick_restrict image, const Quantum *magick_restrict pixel)
MagickExport MagickBooleanType DeleteImageProfile(Image *image, const char *name)
static void ConvertLMSToRGB(const double L, const double M, const double S, double *red, double *green, double *blue)
MagickExport ImageType IdentifyImageGray(const Image *image, ExceptionInfo *exception)
static void SetPixelGray(const Image *magick_restrict image, const Quantum gray, Quantum *magick_restrict pixel)
MagickPrivate MagickBooleanType SyncImagePixelCache(Image *, ExceptionInfo *)
static ssize_t RoundToYCC(const double value)
static void ConvertYCbCrToRGB(const double Y, const double Cb, const double Cr, double *red, double *green, double *blue)
static void ConvertYPbPrToRGB(const double Y, const double Pb, const double Pr, double *red, double *green, double *blue)
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
static MagickBooleanType TransformsRGBImage(Image *, ExceptionInfo *)
static void ConvertRGBToxyY(const double red, const double green, const double blue, double *low_x, double *low_y, double *cap_Y)
static MagickBooleanType IsRGBColorspace(const ColorspaceType colorspace)
static void SetPixelViaPixelInfo(const Image *magick_restrict image, const PixelInfo *magick_restrict pixel_info, Quantum *magick_restrict pixel)
static MagickBooleanType IsGrayColorspace(const ColorspaceType colorspace)
static void ConvertRGBToYDbDr(const double red, const double green, const double blue, double *Y, double *Db, double *Dr)
MagickExport MagickBooleanType IdentifyImageMonochrome(const Image *image, ExceptionInfo *exception)
#define ThrowBinaryException(severity, tag, context)
static Quantum ClampToQuantum(const MagickRealType quantum)
MagickExport void GetPixelInfo(const Image *image, PixelInfo *pixel)
MagickPrivate void ConvertRGBToHSB(const double, const double, const double, double *, double *, double *)
MagickExport MagickBooleanType SetImageGray(Image *image, ExceptionInfo *exception)
MagickExport MagickRealType DecodePixelGamma(const MagickRealType pixel)
#define MagickCoreSignature
MagickExport Quantum * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
static void ConvertRGBToLab(const double red, const double green, const double blue, double *L, double *a, double *b)
static void ConvertRGBToYCbCr(const double red, const double green, const double blue, double *Y, double *Cb, double *Cr)
static double PerceptibleReciprocal(const double x)
static MagickBooleanType IssRGBCompatibleColorspace(const ColorspaceType colorspace)
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
MagickPrivate void ConvertLCHuvToRGB(const double, const double, const double, double *, double *, double *)
static void ConvertYDbDrToRGB(const double Y, const double Db, const double Dr, double *red, double *green, double *blue)
static void ConvertLuvToXYZ(const double L, const double u, const double v, double *X, double *Y, double *Z)
static Quantum GetPixelGreen(const Image *magick_restrict image, const Quantum *magick_restrict pixel)
static void ConvertRGBToLuv(const double red, const double green, const double blue, double *L, double *u, double *v)
static void GetPixelInfoPixel(const Image *magick_restrict image, const Quantum *magick_restrict pixel, PixelInfo *magick_restrict pixel_info)
static void ConvertCMYToRGB(const double cyan, const double magenta, const double yellow, double *red, double *green, double *blue)
MagickPrivate void ConvertRGBToHSV(const double, const double, const double, double *, double *, double *)
static MagickBooleanType IssRGBColorspace(const ColorspaceType colorspace)
static void ConvertXYZToLuv(const double X, const double Y, const double Z, double *L, double *u, double *v)
MagickPrivate void ConvertRGBToHSI(const double, const double, const double, double *, double *, double *)
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
static void ConvertRGBToCMYK(PixelInfo *pixel)
MagickExport ImageType IdentifyImageType(const Image *image, ExceptionInfo *exception)
static void SetPixelBlue(const Image *magick_restrict image, const Quantum blue, Quantum *magick_restrict pixel)
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class, ExceptionInfo *exception)
MagickExport void ConvertHSLToRGB(const double hue, const double saturation, const double lightness, double *red, double *green, double *blue)
static void ConvertLuvToRGB(const double L, const double u, const double v, double *red, double *green, double *blue)
static size_t GetPixelChannels(const Image *magick_restrict image)
MagickPrivate void ConvertHWBToRGB(const double, const double, const double, double *, double *, double *)
char filename[MagickPathExtent]
static MagickBooleanType sRGBTransformImage(Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
#define GetMagickModule()
PrimaryInfo green_primary
static void ConvertXYZToLab(const double X, const double Y, const double Z, double *L, double *a, double *b)
static void ConvertRGBToXYZ(const double red, const double green, const double blue, double *X, double *Y, double *Z)
RenderingIntent rendering_intent
MagickExport MagickBooleanType IsImageGray(const Image *image)
#define sRGBTransformImageTag
static void ConvertRGBToYPbPr(const double red, const double green, const double blue, double *Y, double *Pb, double *Pr)
MagickExport MagickBooleanType SetImageColorspace(Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
static void ConvertYIQToRGB(const double Y, const double I, const double Q, double *red, double *green, double *blue)
MagickPrivate void ConvertHSVToRGB(const double, const double, const double, double *, double *, double *)
static void ConvertLabToXYZ(const double L, const double a, const double b, double *X, double *Y, double *Z)
MagickExport const char * GetImageProperty(const Image *image, const char *property, ExceptionInfo *exception)
static void ConvertxyYToRGB(const double low_x, const double low_y, const double cap_Y, double *red, double *green, double *blue)
ChromaticityInfo chromaticity
MagickPrivate void ConvertHCLToRGB(const double, const double, const double, double *, double *, double *)
static void ConvertXYZToLMS(const double x, const double y, const double z, double *L, double *M, double *S)
MagickPrivate void ConvertRGBToHWB(const double, const double, const double, double *, double *, double *)
static void ConvertLabToRGB(const double L, const double a, const double b, double *red, double *green, double *blue)
MagickPrivate void ConvertHCLpToRGB(const double, const double, const double, double *, double *, double *)
MagickExport void * RelinquishMagickMemory(void *memory)
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
static void ConvertXYZToRGB(const double X, const double Y, const double Z, double *red, double *green, double *blue)
MagickPrivate void ConvertRGBToLCHab(const double, const double, const double, double *, double *, double *)
static void SetPixelRed(const Image *magick_restrict image, const Quantum red, Quantum *magick_restrict pixel)
MagickExport ColorspaceType GetImageColorspaceType(const Image *image, ExceptionInfo *exception)
static void ConvertRGBToLMS(const double red, const double green, const double blue, double *L, double *M, double *S)
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
MagickPrivate void ConvertHSBToRGB(const double, const double, const double, double *, double *, double *)
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType SetImageMonochrome(Image *image, ExceptionInfo *exception)
static void ConvertRGBToYIQ(const double red, const double green, const double blue, double *Y, double *I, double *Q)
MagickPrivate void ConvertRGBToHCL(const double, const double, const double, double *, double *, double *)
static Quantum GetPixelBlue(const Image *magick_restrict image, const Quantum *magick_restrict pixel)
MagickPrivate void ConvertRGBToLCHuv(const double, const double, const double, double *, double *, double *)
static void ConvertYUVToRGB(const double Y, const double U, const double V, double *red, double *green, double *blue)
static void ConvertCMYKToRGB(PixelInfo *pixel)
ColorspaceType colorspace
struct _TransformPacket TransformPacket
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
MagickPrivate void ConvertRGBToHCLp(const double, const double, const double, double *, double *, double *)
static void SetPixelGreen(const Image *magick_restrict image, const Quantum green, Quantum *magick_restrict pixel)
static void ConvertRGBToCMY(const double red, const double green, const double blue, double *cyan, double *magenta, double *yellow)