Просмотр полной версии : Создание превьюшек
Ребят, доброе время суток.
Если что - не ругайтесь, нет особо много времени пользоваться поиском.
Нужен простенький скрипт загрузки картинок на сервер (желательно и с ПК и с URL), которые имеют рандомное название, с созданием превьюшек, которые масштабируются пропорционально по ширине (всмысле задается только ширина, высоту он сам подгоняет).
Если кто может - выдерните из ДЛЕ, может кто-то для себя писал, скиньте пожалуйста.
Заранее огромное спасибо!
.:EnoT:.
07.02.2009, 00:49
Вот старая функция пропорционального ресайза, когда-то давно писал.
function resize($image, $type, $width=500, $height=400){
if($type == 'gif') $srcImage = ImageCreateFromGif($image);
elseif($type == 'jpeg') $srcImage = ImageCreateFromJpeg($image);
elseif($type == 'png') $srcImage = ImageCreateFromPng($image);
elseif($type == 'bmp') $srcImage = ImageCreateFromwBmp($image);
else $srcImage = false;
if($srcImage){
$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);
if($type == 'gif') return ImageGif($resImage, $image);
elseif($type == 'jpeg') return ImageJpeg($resImage, $image);
elseif($type == 'png') return ImagePng($resImage, $image);
elseif($type == 'bmp') return ImagewBmp($resImage, $image);
else return false;
ImageDestroy($srcImage);
ImageDestroy($resImage);
}
}
}
Ну а с загрузкой всё просто.
Локально: cм. функции move_uploaded_file() или copy()
А удалённо: file_get_contents() и сохраняешь через fopen() и fputs()
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot