I am using those functions in this way:
//$dest_x and $dest_y relate to the new dimensions
//$size[0] and $size[1] are the original dimensions
$target_id = imagecreatetruecolor($dest_x, $dest_y);
$target_pic = imagecopyresampled($target_id,$source_id_original, 0, 0, 0, 0, $dest_x, $dest_y, $size[0],$size[1]);
$thumblink = $thumb_dir.$prefix.$name;
if (ereg("\.gif$", $name))
{
$source_id = imagegif($target_id,$thumblink, $quality);
$source_id_original = imagecreatefromgif($thumblink);
}
if (ereg("\.jpg$", $main) or ereg("\.jpeg$", $main))
{
$source_id = imagejpeg($target_id,$thumblink, $quality);
$source_id_original = imagecreatefromjpeg($thumblink);
}
if (ereg("\.png$", $name))
{
$source_id = imagepng($target_id,$thumblink, $quality);
$source_id_original = imagecreatefrompng($thumblink);
}