artcity
Новичок
в общем есть скрипт, который создает миниатюру плюсом к уже загруженной фотке...
он создает её с разрешение 320х240.. как сделать так чтобы он создавал превьюшку в той же пропорции что и оригинал, но в пределах 320х240.... то есть это максимальные параметры, но пропорцию нужно сохранить.
вот скрипт:
он создает её с разрешение 320х240.. как сделать так чтобы он создавал превьюшку в той же пропорции что и оригинал, но в пределах 320х240.... то есть это максимальные параметры, но пропорцию нужно сохранить.
вот скрипт:
PHP:
$file_name= "АДРЕС ФАЙЛА"; // сохраняем имя файла в переменную
// Создаем миниатюры
$nw = 320; // Ширина миниатюр
$nh = 240; // Высота миниатюр
$source = "$file_name"; // Исходный файл
$dest = "../proj_min/"."$file_name"; // Файл с результатом работы
$stype = explode(".", $source);
$stype = $stype[count($stype)-1];
$size = getimagesize($source);
$w = $size[0]; // Ширина изображения
$h = $size[1]; // Высота изображения
switch($stype) {
case 'gif':
$simg = imagecreatefromgif($source);
break;
case 'jpg':
$simg = imagecreatefromjpeg($source);
break;
case 'png':
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nh;
$h_height = $nh/2;
$w_height = $nw/2;
if($w > $h) {
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} elseif(($w < $h) || ($w == $h)) {
$adjusted_height = $h / $wm;
$half_height = $adjusted_height / 2;
$int_height = $half_height - $h_height;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
imagejpeg($dimg,$dest,100);