dezkit Posted November 5, 2008 Share Posted November 5, 2008 I have these two scripts: <?php function cropImage($nw, $nh, $source, $stype, $dest) { $size = getimagesize($source); $w = $size[0]; $h = $size[1]; switch($stype) { case 'gif': $simg = imagecreatefromgif($source); break; case 'jpg': $simg = imagecreatefromjpeg($source); break; case 'png': $simg = imagecreatefrompng($source); break; } $dimg = imagecreatetruecolor($nw, $nh); $wm = $w/$nw; $hm = $h/$nh; $h_height = $nh/2; $w_height = $nw/2; if($w> $h) { $adjusted_width = $w / $hm; $half_width = $adjusted_width / 2; $int_width = $half_width - $w_height; imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h); } elseif(($w <$h) || ($w == $h)) { $adjusted_height = $h / $wm; $half_height = $adjusted_height / 2; $int_height = $half_height - $h_height; imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h); } else { imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h); } imagejpeg($dimg,$dest,100); ?> and I have <?php // The file $filename = 'http://www.riversidecity.ie/images/Photos/Docklands%20City.jpg'; // Set a maximum height and width $width = 80; $height = 80; // Content type header('Content-type: image/jpeg'); // Get new dimensions list($width_orig, $height_orig) = getimagesize($filename); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // Resample $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output imagejpeg($image_p, null, 100); ?> How do i make a function out of the second script? Quote Link to comment Share on other sites More sharing options...
Yesideez Posted November 5, 2008 Share Posted November 5, 2008 <?php function resize($filename,$width,$height,$type) { header($type); // Get new dimensions list($width_orig, $height_orig) = getimagesize($filename); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // Resample $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output imagejpeg($image_p, null, 100); } ?> Call it like this: resize('http://www.riversidecity.ie/images/Photos/Docklands%20City.jpg',80,80,'Content-type: image/jpeg'); You might want to remove the header() line and parameter though if you want to use this after stuff has been sent to the browser. Quote Link to comment Share on other sites More sharing options...
dezkit Posted November 5, 2008 Author Share Posted November 5, 2008 noo I want to move the cropped picture to a folder after i crop the original picture. thanks so much! Quote Link to comment Share on other sites More sharing options...
trq Posted November 5, 2008 Share Posted November 5, 2008 functions. Quote Link to comment 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.