Jump to content

Cropping and resizing image


Giddy Rob

Recommended Posts

Hey Guys,

 

I know how to do the above, but I was wondering if anyone knows how to, or has a function that, crops an image to a certain size without creating black borders or squashing it?

 

i.e. if I have an image with a resolution of 1600x1200 and I want to make it 90x100 I want the image to be cropped so that it isn't squashed in any way. I want it to cut either the top or the sides off so it looks ok. I am using a function I found on the internet but it puts black borders on the images sometimes. Here is the function below.

 

<CODE>

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':

 

 

              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,186);

      }//end of crop image

</CODE>

 

Anyone got any ideas?

 

Cheers in advance

 

Rob

Link to comment
https://forums.phpfreaks.com/topic/87210-cropping-and-resizing-image/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.