private static function do_resize_to_max_side($src_fn, $resized_fn, $max_x, $max_y, $resize_type = RESIZE_CROP) { $convert = ImageResize::find_magick(); $magick_attempted = FALSE; if ($convert && !ImageResize::$skip_magick) { // try to do it with imagemagick $magick_attempted = TRUE; try { return ImageResize::magick_resize_image($convert, $src_fn, $resized_fn, $max_x, $max_y, $resize_type); } catch (CNException $magick_exc) { Logger::log("ImageMagick failed to resize {$src_fn}; trying GD"); } } if (ImageResize::gd_available() && !ImageResize::$skip_gd) { // we have gd installed return ImageResize::gd_resize_image($src_fn, $resized_fn, $max_x, $max_y, $resize_type); } if ($magick_attempted) { throw $magick_exc; } throw new CNException(MISSING_DEPENDENCY, "need to have either gd or imagemagick installed to resize images"); }