lo script è questo:
codice:
function intelligentshrink($sourcefile, $destfile, $fw, $fh, $jpegquality = 80)
{
list($ow, $oh, $from_type) = getimagesize($sourcefile);
switch($from_type)
{
case 1: // GIF
$srcImage = imagecreatefromgif($sourcefile);
break;
case 2: // JPG
$srcImage =imagecreatefromjpeg($sourcefile);
break;
case 3: // PNG
$srcImage = imagecreatefrompng($sourcefile);
break;
}
$tempw = $fw;
$temph = number_format((($oh*$fw)/$ow), 0);
if($temph < $fh)
{
$tempw = number_format((($ow*$fh)/$oh), 0);
$temph = $fh;
}
$tempImage = imagecreatetruecolor($tempw, $temph);
imagecopyresampled($tempImage, $srcImage, 0, 0, 0, 0, $tempw, $temph, $ow, $oh);
// Calculate offsets
if($temph > $fh)
{
$offsety = number_format(($temph/2)-($fh/2), 0);
$offsetx = 0;
}
else
{
$offsety = 0;
$offsetx = number_format(($tempw/2)-($fw/2), 0);
}
$destImage = imageCreateTrueColor($fw, $fh);
imagecopyresampled($destImage, $tempImage, 0, 0, $offsetx, $offsety, $fw, $fh, $fw, $fh);
imageJpeg($destImage, $destfile, $jpegquality);
}
grazie.