Changeset 8241


Ignore:
Timestamp:
06/12/12 15:30:16 (12 months ago)
Author:
cristy
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ImageMagick/trunk/MagickCore/colorspace.c

    r8126 r8241  
    128128  assert(Z != (double *) NULL); 
    129129  r=QuantumScale*red; 
    130   if (r > 0.0404482362771082) 
     130  if (r <= 0.04045) 
     131    r/=12.92; 
     132  else 
    131133    r=pow((r+0.055)/1.055,2.4); 
     134  g=QuantumScale*green; 
     135  if (g <= 0.04045) 
     136    g/=12.92; 
    132137  else 
    133     r/=12.92; 
    134   g=QuantumScale*green; 
    135   if (g > 0.0404482362771082) 
    136138    g=pow((g+0.055)/1.055,2.4); 
     139  b=QuantumScale*blue; 
     140  if (b <= 0.04045) 
     141    b/=12.92; 
    137142  else 
    138     g/=12.92; 
    139   b=QuantumScale*blue; 
    140   if (b > 0.0404482362771082) 
    141143    b=pow((b+0.055)/1.055,2.4); 
    142   else 
    143     b/=12.92; 
    144   *X=0.4124240*r+0.3575790*g+0.1804640*b; 
    145   *Y=0.2126560*r+0.7151580*g+0.0721856*b; 
    146   *Z=0.0193324*r+0.1191930*g+0.9504440*b; 
     144  *X=0.4360747*r+0.3850649*g+0.1430804*b; 
     145  *Y=0.2225045*r+0.7168786*g+0.0606169*b; 
     146  *Z=0.0139322*r+0.0971045*g+0.7141733*b; 
    147147} 
    148148 
     
    14261426 
    14271427  /* 
    1428     Convert XYZ to RGB colorspace. 
    1429   */ 
     1428    Convert XYZ to RGB colorspace. 
     1429 *      */ 
    14301430  assert(red != (Quantum *) NULL); 
    14311431  assert(green != (Quantum *) NULL); 
    14321432  assert(blue != (Quantum *) NULL); 
    1433   r=3.2404542*x-1.5371385*y-0.4985314*z; 
    1434   g=(-0.9692660*x+1.8760108*y+0.0415560*z); 
    1435   b=0.0556434*x-0.2040259*y+1.0572252*z; 
    1436   if (r > 0.00313066844250063) 
     1433  r=3.1338561*x-1.6168667*y-0.4906146*z; 
     1434  g=(-0.9787684*x+1.9161415*y+0.0334540*z); 
     1435  b=0.0719453*x-0.2289914*y+1.4052427*z; 
     1436  if (r > 0.0031308) 
    14371437    r=1.055*pow(r,1.0/2.4)-0.055; 
    14381438  else 
    14391439    r*=12.92; 
    1440   if (g > 0.00313066844250063) 
     1440  if (g > 0.0031308) 
    14411441    g=1.055*pow(g,1.0/2.4)-0.055; 
    14421442  else 
    14431443    g*=12.92; 
    1444   if (b > 0.00313066844250063) 
     1444  if (b > 0.0031308) 
    14451445    b=1.055*pow(b,1.0/2.4)-0.055; 
    14461446  else 
Note: See TracChangeset for help on using the changeset viewer.