note 58475 deleted from function.imagecopyresampled by cmb

From: Date: Sun, 19 May 2019 16:12:20 +0000
Subject: note 58475 deleted from function.imagecopyresampled by cmb
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-211080@lists.php.net to get a copy of this message
Note Submitter: erik at phpcastle dot com ---- I've changed the script from info at lontronics dot nl a little bit so the thumbnail is not cutted off when this is not necessary. <?php // Resize function // $pictype is optional. When empty the image will not be cutted off function resize($filename, $dest, $width, $height, $pictype = "") { $format = strtolower(substr(strrchr($filename,"."),1)); switch($format) { case 'gif' : $type ="gif"; $img = imagecreatefromgif($filename); break; case 'png' : $type ="png"; $img = imagecreatefrompng($filename); break; case 'jpg' : $type ="jpg"; $img = imagecreatefromjpeg($filename); break; case 'jpeg' : $type ="jpg"; $img = imagecreatefromjpeg($filename); break; default : die ("ERROR; UNSUPPORTED IMAGE TYPE"); break; } list($org_width, $org_height) = getimagesize($filename); $xoffset = 0; $yoffset = 0; if ($pictype == "thumb") // To minimize destortion { if ($org_width / $width > $org_height/ $height) { $xtmp = $org_width; $xratio = 1-((($org_width/$org_height)-($width/$height))/2); $org_width = $org_width * $xratio; $xoffset = ($xtmp - $org_width)/2; } elseif ($org_height/ $height > $org_width / $width) { $ytmp = $org_height; $yratio = 1-((($width/$height)-($org_width/$org_height))/2); $org_height = $org_height * $yratio; $yoffset = ($ytmp - $org_height)/2; } //Added this else part ------------- } else { $xtmp = $org_width/$width; $new_width = $width; $new_height = $org_height/$xtmp; if ($new_height > $height){ $ytmp = $org_height/$height; $new_height = $height; $new_width = $org_width/$ytmp; } $width = round($new_width); $height = round($new_height); } $img_n=imagecreatetruecolor ($width, $height); imagecopyresampled($img_n, $img, 0, 0, $xoffset, $yoffset, $width, $height, $org_width, $org_height); if($type=="gif") { imagegif($img_n, $dest); } elseif($type=="jpg") { imagejpeg($img_n, $dest); } elseif($type=="png") { imagepng($img_n, $dest); } elseif($type=="bmp") { imagewbmp($img_n, $dest); } Return true; } ?>

« previous php.notes (#211080) next »