title: PHP GD - transparent PNG black background
body: <p>I am using PHP and GD to crop and output an image with the code below. it works fine but when i pass a transparent PNG into it i get a black background generated. How can i stop this? </p>
  
  <pre><code>//setup
  switch ($source_type) {
      case IMAGETYPE_JPEG:    $source = imagecreatefromjpeg($img_path);   break;
      case IMAGETYPE_PNG:     $source = imagecreatefrompng($img_path);    break;
  }
  
  // setup cropped destination
  $cropped = imagecreatetruecolor($cropped_width, $cropped_height);
  
  // create cropped image
  $x = (($source_width / 100) * IMAGE_X) - ($cropped_width / 2);
  $y = (($source_height / 100) * IMAGE_Y) - ($cropped_height / 2);
  imagecopy(
      $cropped,
      $source,
      0, 0,
      $x, $y,
      $cropped_width, $cropped_height
  );
  
  // output inc header
  header('Content-type: image/jpeg');
  imagejpeg($cropped);
  </code></pre>