PHP Crop Image
This function will crop an image to the specified width and height without distorting it and in most cases without adding black regions to the image. This function is great for profile photos where the image needs to fit a certain area, but the images being uploaded are of all sizes.
Example

Code
-
cropImage(225, 165, '/path/to/source/image.jpg', 'jpg', '/path/to/dest/image.jpg');
-
-
function cropImage($nw, $nh, $source, $stype, $dest) {
-
-
$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);
-
}


My name is Noah Everett. I live in Tulsa, OK. I started 