felipeebs Posted July 17, 2008 Share Posted July 17, 2008 I tried this code, but it don't work fine. if I try to transform an image from 1000x5000 or 5000x1000 (i.e.) ,it will not work to resize to the maximum 800x600 proportionally my code: function gravaImg($img, $folder, $max_x=800, $max_y=600, $quality=100) { list($width,$height) = getimagesize($img['tmp_name']); if ($width > $max_x or $height > $max_y) { if ($height > $width) { $tax = $width/$max_x; $x = $max_x; $y = $height/$tax; } elseif ($width > $height) { $tax = $height/$max_y; $x = $width/$tax; $y = $max_y; } // elseif ($width == $height) else { $tax = $width/$max_x; $x = $width/$tax; $tax = $height/$max_y; $y = $height/$tax; } } else { $x = $width; $y = $height; } $redim = imagecreatetruecolor($x,$y); if($img['type']=='image/png' or $img['type']=='image/x-png') { $original = @imagecreatefrompng($img['tmp_name']); } elseif($img['type']=='image/gif') { $original = @imagecreatefromgif($img['tmp_name']); } else{ $original = @imagecreatefromjpeg($img['tmp_name']); } chdir($folder); $nome = md5(time()).'.jpg'; imagecopyresized($redim, $original, 0, 0, 0, 0, $x, $y, $width, $height); imagejpeg($redim,$nome,$quality); imagedestroy($redim); } what's wrong??? thanks Quote Link to comment https://forums.phpfreaks.com/topic/115276-proportional-thumbnail-width-and-height/ Share on other sites More sharing options...
felipeebs Posted July 18, 2008 Author Share Posted July 18, 2008 i'm sorry but, please, up? Quote Link to comment https://forums.phpfreaks.com/topic/115276-proportional-thumbnail-width-and-height/#findComment-593596 Share on other sites More sharing options...
GingerRobot Posted July 18, 2008 Share Posted July 18, 2008 To resize proportionally X1/Y1 = X2/Y2 Therefore, if you know X2 (e.g. the width is greater than height, so width = 800), then Y2 = Y1/X1 * X2 - by rearranging the above formula Conversely, if you know Y2, then X2 = X1/Y1 * Y2 Quote Link to comment https://forums.phpfreaks.com/topic/115276-proportional-thumbnail-width-and-height/#findComment-593643 Share on other sites More sharing options...
craygo Posted July 18, 2008 Share Posted July 18, 2008 Or you can divide the current with by the output width, get a ratio and multiply the height by the same ratio. If you want to keep your pics their original aspect ratio, you are better off just using a max size and resize the picture accordingly. there is an example in the FAQ/code snippet section of the forum. Ray Quote Link to comment https://forums.phpfreaks.com/topic/115276-proportional-thumbnail-width-and-height/#findComment-593650 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.