]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 7 Jul 2012 23:50:17 +0000 (23:50 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 7 Jul 2012 23:50:17 +0000 (23:50 +0000)
MagickCore/draw.c
MagickCore/pixel-private.h

index 310472fcfbd6ed6f76f3dd84216ce385607c8e38..476cfc4dc7b3257be795f54f6974c49792f1aa5a 100644 (file)
@@ -1040,7 +1040,7 @@ static inline MagickRealType DrawEpsilonReciprocal(const MagickRealType x)
 {
   MagickRealType sign = x < (MagickRealType) 0.0 ? (MagickRealType) -1.0 :
     (MagickRealType) 1.0;
-  return((sign*x) > DrawEpsilon ? (MagickRealType) 1.0/x : sign*(
+  return((sign*x) >= DrawEpsilon ? (MagickRealType) 1.0/x : sign*(
     (MagickRealType) 1.0/DrawEpsilon));
 }
 
@@ -3697,8 +3697,9 @@ static MagickRealType GetFillAlpha(PolygonInfo *polygon_info,
             }
           else
             {
+              alpha=1.0/alpha;
               beta=delta.x*(y-q->y)-delta.y*(x-q->x);
-              distance=DrawEpsilonReciprocal(alpha)*beta*beta;
+              distance=alpha*beta*beta;
             }
         }
       /*
index 338628309b246f8f3a38160379a7841fcb840024..2eb053439e2f47ab2c45a14122adbf464a6261ed 100644 (file)
@@ -26,7 +26,7 @@ static inline MagickRealType MagickEpsilonReciprocal(const MagickRealType x)
 {
   MagickRealType sign = x < (MagickRealType) 0.0 ? (MagickRealType) -1.0 : 
     (MagickRealType) 1.0;
-  return((sign*x) > MagickEpsilon ? (MagickRealType) 1.0/x : sign*(
+  return((sign*x) >= MagickEpsilon ? (MagickRealType) 1.0/x : sign*(
     (MagickRealType) 1.0/MagickEpsilon));
 }