Voting

: max(two, two)?
(Example: nine)

The Note You're Voting On

robby at planetargon dot com
20 years ago
Most of the examples below don't keep the proportions properly. They keep using if/else for the height/width..and forgetting that you might have a max height AND a max width, not one or the other.

/**
* Resize an image and keep the proportions
* @author Allison Beckwith <[email protected]>
* @param string $filename
* @param integer $max_width
* @param integer $max_height
* @return image
*/
function resizeImage($filename, $max_width, $max_height)
{
list($orig_width, $orig_height) = getimagesize($filename);

$width = $orig_width;
$height = $orig_height;

# taller
if ($height > $max_height) {
$width = ($max_height / $height) * $width;
$height = $max_height;
}

# wider
if ($width > $max_width) {
$height = ($max_width / $width) * $height;
$width = $max_width;
}

$image_p = imagecreatetruecolor($width, $height);

$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0,
$width, $height, $orig_width, $orig_height);

return $image_p;
}

<< Back to user notes page

To Top