]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/pixel.c
(no commit message)
[imagemagick] / MagickCore / pixel.c
index 149ac0ef429040cbdb627be405011a3b1d6f3fe1..fbf27e31d28cb584945c093aeff0390ccc994a7a 100644 (file)
 %                  MagickCore Methods to Import/Export Pixels                 %
 %                                                                             %
 %                             Software Design                                 %
-%                               John Cristy                                   %
+%                                  Cristy                                     %
 %                               October 1998                                  %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -2137,8 +2137,8 @@ MagickExport void GetPixelInfo(const Image *image,PixelInfo *pixel)
 %
 %    Rec601Luma       0.298839R' + 0.586811G' + 0.114350B'
 %    Rec601Luminance  0.298839R + 0.586811G + 0.114350B
-%    Rec709Luma       0.21260R' + 0.71520G' + 0.07220B'
-%    Rec709Luminance  0.21260R + 0.71520G + 0.07220B
+%    Rec709Luma       0.212656R' + 0.715158G' + 0.072186B'
+%    Rec709Luminance  0.212656R + 0.715158G + 0.072186B
 %    Brightness       max(R', G', B')
 %    Lightness        (min(R', G', B') + max(R', G', B')) / 2.0
 % 
@@ -2204,7 +2204,7 @@ MagickExport MagickRealType GetPixelIntensity(const Image *restrict image,
     case LightnessPixelIntensityMethod:
     {
       intensity=(MagickMin(MagickMin(red,green),blue)+
-        MagickMax(MagickMin(red,green),blue))/2.0;
+        MagickMax(MagickMax(red,green),blue))/2.0;
       break;
     }
     case MSPixelIntensityMethod:
@@ -2244,7 +2244,7 @@ MagickExport MagickRealType GetPixelIntensity(const Image *restrict image,
           green=EncodePixelGamma(green);
           blue=EncodePixelGamma(blue);
         }
-      intensity=0.21260f*red+0.71520f*green+0.07220f*blue;
+      intensity=0.212656*red+0.715158*green+0.072186*blue;
       break;
     }
     case Rec709LuminancePixelIntensityMethod:
@@ -2255,7 +2255,7 @@ MagickExport MagickRealType GetPixelIntensity(const Image *restrict image,
           green=DecodePixelGamma(green);
           blue=DecodePixelGamma(blue);
         }
-      intensity=0.21260f*red+0.71520f*green+0.07220f*blue;
+      intensity=0.212656*red+0.715158*green+0.072186*blue;
       break;
     }
     case RMSPixelIntensityMethod:
@@ -4108,7 +4108,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image,const ssize_t x,
     {
       quantum_map=(QuantumType *) RelinquishMagickMemory(quantum_map);
       (void) ThrowMagickException(exception,GetMagickModule(),OptionError,
-        "UnrecognizedPixelMap","`%s'",map);
+        "UnrecognizedStorageType","`%d'",type);
       break;
     }
   }
@@ -4664,10 +4664,10 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image,
         }
       delta.x=x-x_offset;
       delta.y=y-y_offset;
-      luminance.x=GetPixelLuminance(image,p)-(double)
-        GetPixelLuminance(image,p+3*GetPixelChannels(image));
-      luminance.y=GetPixelLuminance(image,p+GetPixelChannels(image))-(double)
-        GetPixelLuminance(image,p+2*GetPixelChannels(image));
+      luminance.x=GetPixelLuma(image,p)-(double)
+        GetPixelLuma(image,p+3*GetPixelChannels(image));
+      luminance.y=GetPixelLuma(image,p+GetPixelChannels(image))-(double)
+        GetPixelLuma(image,p+2*GetPixelChannels(image));
       if (fabs(luminance.x) < fabs(luminance.y))
         {
           /*
@@ -5190,10 +5190,10 @@ MagickExport MagickBooleanType InterpolatePixelChannels(const Image *source,
           }
         delta.x=x-x_offset;
         delta.y=y-y_offset;
-        luminance.x=fabs((double) (GetPixelLuminance(source,p)-
-          GetPixelLuminance(source,p+3*GetPixelChannels(source))));
-        luminance.y=fabs((double) (GetPixelLuminance(source,p+
-          GetPixelChannels(source))-GetPixelLuminance(source,p+2*
+        luminance.x=fabs((double) (GetPixelLuma(source,p)-
+          GetPixelLuma(source,p+3*GetPixelChannels(source))));
+        luminance.y=fabs((double) (GetPixelLuma(source,p+
+          GetPixelChannels(source))-GetPixelLuma(source,p+2*
           GetPixelChannels(source))));
         if (luminance.x < luminance.y)
           {
@@ -5646,10 +5646,10 @@ MagickExport MagickBooleanType InterpolatePixelInfo(const Image *image,
         }
       delta.x=x-x_offset;
       delta.y=y-y_offset;
-      luminance.x=GetPixelLuminance(image,p)-(double)
-        GetPixelLuminance(image,p+3*GetPixelChannels(image));
-      luminance.y=GetPixelLuminance(image,p+GetPixelChannels(image))-(double)
-        GetPixelLuminance(image,p+2*GetPixelChannels(image));
+      luminance.x=GetPixelLuma(image,p)-(double)
+        GetPixelLuma(image,p+3*GetPixelChannels(image));
+      luminance.y=GetPixelLuma(image,p+GetPixelChannels(image))-(double)
+        GetPixelLuma(image,p+2*GetPixelChannels(image));
       AlphaBlendPixelInfo(image,p,pixels+0,alpha+0);
       AlphaBlendPixelInfo(image,p+GetPixelChannels(image),pixels+1,alpha+1);
       AlphaBlendPixelInfo(image,p+2*GetPixelChannels(image),pixels+2,alpha+2);
@@ -5862,8 +5862,8 @@ MagickExport MagickBooleanType IsFuzzyEquivalencePixel(const Image *source,
     distance,
     scale;
 
-  fuzz=MagickMax(source->fuzz,(double) MagickSQ1_2)*MagickMax(
-    destination->fuzz,(double) MagickSQ1_2);
+  fuzz=(double) MagickMax(source->fuzz,(MagickRealType) MagickSQ1_2)*MagickMax(
+    destination->fuzz,(MagickRealType) MagickSQ1_2);
   scale=1.0;
   distance=0.0;
   if (source->alpha_trait == BlendPixelTrait)
@@ -5974,11 +5974,14 @@ MagickExport MagickBooleanType IsFuzzyEquivalencePixelInfo(const PixelInfo *p,
   if ((p->fuzz == 0.0) && (q->fuzz == 0.0))
     return(IsPixelInfoEquivalent(p,q));
   if (p->fuzz == 0.0)
-    fuzz=MagickMax(q->fuzz,(double) MagickSQ1_2)*MagickMax(q->fuzz,MagickSQ1_2);
+    fuzz=MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2)*
+      MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2);
   else if (q->fuzz == 0.0)
-    fuzz=MagickMax(p->fuzz,(double) MagickSQ1_2)*MagickMax(p->fuzz,MagickSQ1_2);
+    fuzz=MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2)*
+      MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2);
   else
-    fuzz=MagickMax(p->fuzz,(double) MagickSQ1_2)*MagickMax(q->fuzz,MagickSQ1_2);
+    fuzz=MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2)*
+      MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2);
   scale=1.0;
   distance=0.0;
   if ((p->alpha_trait == BlendPixelTrait) ||