From fd9d3278078df67aab6cee0c2b7b43a27f206983 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 19 Mar 2013 17:31:06 +0000 Subject: avoid creating an intermediate crop image when the final image will match a resize --- inc/media.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/inc/media.php b/inc/media.php index 2268ad877..654d31cb4 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1828,6 +1828,13 @@ function media_crop_image($file, $ext, $w, $h=0){ // calculate crop size $fr = $info[0]/$info[1]; $tr = $w/$h; + + // check if the crop can be handled completely by resize, + // i.e. the specified width & height match the aspect ratio of the source image + if ($w == round($h*$fr)) { + return media_resize_image($file, $ext, $w); + } + if($tr >= 1){ if($tr > $fr){ $cw = $info[0]; -- cgit v1.2.3