All pastes #971547 Raw Edit

Stuff

public text v1 · immutable
·published 2008-04-04 20:43 UTC
rendered paste body
function _resize_image_gd2($imgfile,$w = NULL,$h = NULL,$format =
'png',$destfile = NULL)
{
  $size = getimagesize($imgfile);
  $s_w = $size[0];
  $s_h = $size[1];

  switch ($size[2]) {
    case 1: // GIF
      $src = imagecreatefromgif($imgfile);
      break;
    case 2: // JPEG
      check_jpeg($imgfile);
      $src = imagecreatefromjpeg($imgfile);
      break;
    case 3: // PNG
      $src = imagecreatefrompng($imgfile);
      break;
    default:
      $src = imagecreatefromstring(file_get_contents($imgfile));
  }

  if (!is_resource($src)) {
    return false;
  }

  $dest = imagecreatetruecolor($w,$h);
  if (!is_resource($dest)) {
    return false;
  }

  imageantialias($dest,TRUE);

  imagecopyresampled($dest,$src,0,0,0,0,$w,$h,$s_w,$s_h);

  if (isset($destfile)) {
    switch (strtolower($format)) {
      case 'jpg':
      case 'jpeg':
        imagejpeg($dest,$destfile);
        break;
      case 'png':
        imagepng($dest,$destfile);
        break;
      default:
        return false;
    }
  } else {
    switch (strtolower($format)) {
      case 'jpg':
      case 'jpeg':
        imagejpeg($dest);
        break;
      case 'png':
        imagepng($dest);
        break;
      default:
        return false;
    }
  }

  return true;
}