
29.04.2007, 03:23
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
Функция ресайза изображения
Функция ресайза изображения
На вход подаются путь к изменяемой картинке, новая ширина и высота.
PHP код:
function SetImgSize($img, $width, $height)
{
//получаем тип файла
{
case "jpg":
$srcImage = @ImageCreateFromJPEG($img);
break;
case "gif":
$srcImage = ImageCreateFromGIF($img);
break;
case "png":
$srcImage = ImageCreateFromPNG($img);
break;
default:
return -1;
break;
}
$srcWidth = ImageSX($srcImage);
$srcHeight = ImageSY($srcImage);
if(($width < $srcWidth) || ($height < $srcHeight))
{
$ratioWidth = $srcWidth/$width;
$ratioHeight = $srcHeight/$height;
if($ratioWidth < $ratioHeight)
{
$destWidth = $srcWidth/$ratioHeight;
$destHeight = $height;
}
else
{
$destWidth = $width;
$destHeight = $srcHeight/$ratioWidth;
}
$resImage = ImageCreateTrueColor($destWidth, $destHeight);
ImageCopyResampled($resImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
unlink($img);
//определяем тип
{
case "jpg":
ImageJPEG($resImage, $img, 100);
break;
case "gif":
ImageGIF($resImage, $img);
break;
case "png":
ImagePNG($resImage, $img);
break;
}
ImageDestroy($srcImage);
ImageDestroy($resImage);
}
}
|
|
|