I have read many posts an also the manual regarding producing thumbnails for my images.
I have been using the following code which works .....
function create_thumb_hfixed($file_name_src, $file_name_dest, $height, $quality=100)
{
if (file_exists($file_name_src) && isset($file_name_dest))
{
$est_src = pathinfo(strtolower($file_name_src));
$est_dest = pathinfo(strtolower($file_name_dest));
$size = getimagesize($file_name_src);
$h = number_format($height, 0, ',', '');
$w = number_format(($size[0]/$size[1])*$height,0,',','');
if ($est_dest['extension'] == "gif" || $est_dest['extension'] == "jpg")
{
$file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} elseif ($est_dest['extension'] == "png")
{
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} else
{
return FALSE;
}
switch($size[2])
{
case 1: //GIF
$src = imagecreatefromgif($file_name_src);
break;
case 2: //JPEG
$src = imagecreatefromjpeg($file_name_src);
break;
case 3: //PNG
$src = imagecreatefrompng($file_name_src);
break;
default:
return FALSE;
break;
}
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
switch($size[2])
{
case 1:
case 2:
imagejpeg($dest,$file_name_dest, $quality);
break;
case 3:
imagepng($dest,$file_name_dest);
}
return TRUE;
}
return FALSE;
}
function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100)
{
if (file_exists($file_name_src) && isset($file_name_dest))
{
$est_src = pathinfo(strtolower($file_name_src));
$est_dest = pathinfo(strtolower($file_name_dest));
$size = getimagesize($file_name_src);
$w = number_format($weight, 0, ',', '');
$h = number_format(($size[1]/$size[0])*$weight,0,',','');
if ($est_dest['extension'] == "gif" || $est_dest['extension'] == "jpg")
{
$file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} elseif ($est_dest['extension'] == "png")
{
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} else
{
return FALSE;
}
switch($size[2])
{
case 1: //GIF
$src = imagecreatefromgif($file_name_src);
break;
case 2: //JPEG
$src = imagecreatefromjpeg($file_name_src);
break;
case 3: //PNG
$src = imagecreatefrompng($file_name_src);
break;
default:
return FALSE;
break;
}
imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);
switch($size[2])
{
case 1:
case 2:
imagejpeg($dest,$file_name_dest, $quality);
break;
case 3:
imagepng($dest,$file_name_dest);
}
return TRUE;
}
return FALSE;
}
if ($process=create_thumb_hfixed('uploads/img3fa50efbdbd4d.jpg','uploads/thumbnails/test.gif',60,'$quality=100'))
{
echo "Thumbnail Created";
}
?>
The problem is that the thumbnail created is too pixilated and bears no resemblance to the original image ... as shown
original

thumbnail

Can anyone suggest how to make a more useful thumbnail?
Thanks ... Fizz