From: cristy Date: Mon, 13 Jan 2014 22:21:30 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~2886 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=95a972177081f951d8d7c1951950acfb8e0f64d6;p=imagemagick --- diff --git a/MagickCore/geometry.c b/MagickCore/geometry.c index 763628782..dfb467975 100644 --- a/MagickCore/geometry.c +++ b/MagickCore/geometry.c @@ -1377,30 +1377,12 @@ MagickExport MagickStatusType ParseMetaGeometry(const char *geometry,ssize_t *x, (void) ParseGeometry(geometry,&geometry_info); area=geometry_info.rho; distance=sqrt((double) former_width*former_height); - scale.x=(double) former_width/(distance/sqrt((double) area)); - scale.y=(double) former_height/(distance/sqrt((double) area)); + scale.x=former_width/(distance/sqrt(area)); + scale.y=former_height/(distance/sqrt(area)); if ((scale.x < (double) *width) || (scale.y < (double) *height)) { - scale.x=MagickMax((size_t) floor(scale.x+0.5),1.0); - scale.y=MagickMax((size_t) floor(scale.y+0.5),1.0); - if ((scale.x > 1.0) && (scale.y > 1.0) && - ((scale.x*scale.y) > geometry_info.rho)) - { - if (scale.x > scale.y) - { - scale.x=(double) former_width/((double) former_height/ - --scale.y); - scale.x=MagickMax((size_t) floor(scale.x+0.5),1.0); - } - else - { - scale.y=(double) former_height/((double) former_width/ - --scale.x); - scale.y=MagickMax((size_t) floor(scale.y+0.5),1.0); - } - } - *width=(size_t) scale.x; - *height=(size_t) scale.y; + *width=(unsigned long) (former_width/(distance/sqrt(area))); + *height=(unsigned long) (former_height/(distance/sqrt(area))); } former_width=(*width); former_height=(*height);