note 35319 added to function.imagecopyresampled
| From: | riboncia at inwind dot it | Date: | Wed, 27 Aug 2003 14:21:15 +0000 |
| Subject: | note 35319 added to function.imagecopyresampled | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-55176@lists.php.net to get a copy of this message | ||
<?
/*
Riccardo CiniC Bonciani: riboncia@inwind.it
This functions create resampled and resized images.
$file_name_src = source file;
$file_name_dest = destination file
By GD it's impossible to create GIF images, so any gif images will be converted in JPEG
type.
ONLY JPEG, GIF, PNG IMAGES ARE SUPPORTED
*/
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,',','');
// IMPOSTAZIONE STREAM DESTINAZIONE
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;
}
// IMPOSTAZIONE STREAM SORGENTE
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,',','');
// IMPOSTAZIONE STREAM DESTINAZIONE
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;
}
// IMPOSTAZIONE STREAM SORGENTE
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;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.imagecopyresampled.php
Edit Note -- http://master.php.net/manage/user-notes.php?action=edit+35319
Delete Note -- http://master.php.net/manage/user-notes.php?action=delete+35319&report=yes
Reject Note -- http://master.php.net/manage/user-notes.php?action=reject+35319&report=yes