]> granicus.if.org Git - imagemagick/commitdiff
Corrected radial gradient equations
authorCristy <urban-warrior@imagemagick.org>
Mon, 19 Oct 2015 21:35:23 +0000 (17:35 -0400)
committerCristy <urban-warrior@imagemagick.org>
Mon, 19 Oct 2015 21:35:23 +0000 (17:35 -0400)
MagickCore/draw.c

index a33c55c2fe447c893d384522867bdf652b9ae34c..4c42d2506e59431925f437b844d2eacf5a2a6a16 100644 (file)
@@ -3245,10 +3245,12 @@ static inline double GetStopColorOffset(const GradientInfo *gradient,
           v.y=(double) y-gradient->center.y;
           return(sqrt(v.x*v.x+v.y*v.y));
         }
-      v.x=(double) (x-gradient->center.x*
-        cos(DegreesToRadians(gradient->angle)))/gradient->radii.x;
-      v.y=(double) (y-gradient->center.y*
-        sin(DegreesToRadians(gradient->angle)))/gradient->radii.y;
+      v.x=(double) (((x-gradient->center.x)*cos(DegreesToRadians(
+        gradient->angle)))+((y-gradient->center.y)*sin(DegreesToRadians(
+        gradient->angle))))/gradient->radii.x;
+      v.y=(double) (((x-gradient->center.x)*sin(DegreesToRadians(
+        gradient->angle)))-((y-gradient->center.y)*cos(DegreesToRadians(
+        gradient->angle))))/gradient->radii.y;
       return(sqrt(v.x*v.x+v.y*v.y));
     }
   }