+
+2009-12-23 6.5.8-8 Anthony Thyssen <A.Thyssen@griffith...>
+ * angle bug fix in variable blur composition with vertical ellipses
+ * Added ability to have variable angles for ellipses in variable blur
+ composition. See IM Examples, Composition, Variable Blur for details
+
2009-12-20 6.5.8-8 Cristy <quetzlzacatenango@image...>
* JPEG does not grok the HSL colorspace.
pixel;
MagickRealType
+ w, h,
blur_xu,
blur_xv,
blur_yu,
- blur_yv;
+ blur_yv,
+ angle_start,
+ angle_range;
ResampleFilter
*resample_filter;
destination_image=DestroyImage(destination_image);
return(MagickFalse);
}
- blur_xu=geometry_info.rho;
- blur_yv=geometry_info.sigma;
+ w=blur_xu=geometry_info.rho;
+ h=blur_yv=geometry_info.sigma;
blur_xv=blur_yu = 0.0;
+ angle_start=0.0;
+ angle_range=0.0;
if ((flags & HeightValue) == 0)
blur_yv=blur_xu;
- if ((flags & XValue) != 0)
+ if ((flags & XValue) != 0 )
{
MagickRealType
- angle,
- x,
- y;
-
- x=blur_xu;
- y=blur_yv;
- angle=DegreesToRadians(geometry_info.xi);
- blur_xu=x*cos(angle);
- blur_xv=x*sin(angle);
- blur_yu=(-y*sin(angle));
- blur_yu=y*cos(angle);
+ angle;
+
+ angle = DegreesToRadians(geometry_info.xi);
+ blur_xu = w*cos(angle);
+ blur_xv = w*sin(angle);
+ blur_yu = (-h*sin(angle));
+ blur_yv = h*cos(angle);
+ }
+ if ((flags & YValue) != 0 )
+ {
+ angle_start = DegreesToRadians(geometry_info.xi);
+ angle_range = DegreesToRadians(geometry_info.psi) - angle_start;
}
/*
Blur Image by resampling;
p++;
continue;
}
+ if ( fabs(angle_range) > MagickEpsilon )
+ {
+ MagickRealType
+ angle;
+
+ angle = angle_start + angle_range*QuantumScale*p->blue;
+ blur_xu = w*cos(angle);
+ blur_xv = w*sin(angle);
+ blur_yu = (-h*sin(angle));
+ blur_yv = h*cos(angle);
+ }
ScaleResampleFilter(resample_filter,blur_xu*QuantumScale*p->red,
blur_yu*QuantumScale*p->green,blur_xv*QuantumScale*p->red,
blur_yv*QuantumScale*p->green);