Changeset 8262
- Timestamp:
- 06/14/12 19:59:44 (11 months ago)
- Location:
- ImageMagick/trunk/MagickCore
- Files:
-
- 2 edited
-
color-private.h (modified) (1 diff)
-
colorspace.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ImageMagick/trunk/MagickCore/color-private.h
r6226 r8262 25 25 #include "MagickCore/image.h" 26 26 27 static inline double GammaCompanding(const double intensity) 28 { 29 if (intensity <= 0.0031308) 30 return(intensity*12.92); 31 return(1.055*pow(intensity,1.0/2.4)-0.055); 32 } 33 34 static inline double GammaDecompanding(const double intensity) 35 { 36 if (intensity <= 0.04045) 37 return(intensity/12.92); 38 return(pow((intensity+0.055)/1.055,2.4)); 39 } 40 27 41 extern MagickPrivate MagickBooleanType 28 42 ColorComponentGenesis(void); -
ImageMagick/trunk/MagickCore/colorspace.c
r8257 r8262 127 127 assert(Y != (double *) NULL); 128 128 assert(Z != (double *) NULL); 129 r=QuantumScale*red; 130 if (r <= 0.04045) 131 r/=12.92; 132 else 133 r=pow((r+0.055)/1.055,2.4); 134 g=QuantumScale*green; 135 if (g <= 0.04045) 136 g/=12.92; 137 else 138 g=pow((g+0.055)/1.055,2.4); 139 b=QuantumScale*blue; 140 if (b <= 0.04045) 141 b/=12.92; 142 else 143 b=pow((b+0.055)/1.055,2.4); 129 r=GammaDecompanding(QuantumScale*red); 130 g=GammaDecompanding(QuantumScale*green); 131 b=GammaDecompanding(QuantumScale*blue); 144 132 *X=0.4360747*r+0.3850649*g+0.1430804*b; 145 133 *Y=0.2225045*r+0.7168786*g+0.0606169*b; … … 1460 1448 g=(-0.9787684*x+1.9161415*y+0.0334540*z); 1461 1449 b=0.0719453*x-0.2289914*y+1.4052427*z; 1462 if (r > 0.0031308) 1463 r=1.055*pow(r,1.0/2.4)-0.055; 1464 else 1465 r*=12.92; 1466 if (g > 0.0031308) 1467 g=1.055*pow(g,1.0/2.4)-0.055; 1468 else 1469 g*=12.92; 1470 if (b > 0.0031308) 1471 b=1.055*pow(b,1.0/2.4)-0.055; 1472 else 1473 b*=12.92; 1474 *red=RoundToQuantum((MagickRealType) QuantumRange*r); 1475 *green=RoundToQuantum((MagickRealType) QuantumRange*g); 1476 *blue=RoundToQuantum((MagickRealType) QuantumRange*b); 1450 *red=RoundToQuantum((MagickRealType) QuantumRange*GammaCompanding(r)); 1451 *green=RoundToQuantum((MagickRealType) QuantumRange*GammaCompanding(g)); 1452 *blue=RoundToQuantum((MagickRealType) QuantumRange*GammaCompanding(b)); 1477 1453 } 1478 1454
Note: See TracChangeset
for help on using the changeset viewer.
