voland
Guest
Уменьшение jpg при аплоаде
Решил сделать ресайз картинок при аплоаде их на сервер, для того чтобы выводить превью. Но столкнулся с проблемой.
До того, как я начал изучать ГД я маленькие картинки определял по размеру меньше какого-то кол-ва Кб.
Сейчас я могу получить размер их и заносить в БД уже просто параметр 1 маленькая 0 большая картинка. Почитав побольше я понял, что могу просто при аплоаде уменьшить их до нужного размера. В поиске я нашел как можно переразмерить картинку
Тут я правда не понял как сохранить картинку, поэтому потратив ещё время нашел следующие
Подскажите пожалуйста, как я могу сохранить картинку под нужным мне именем. И ещё можно ли сделать ресайз с сохранением пропорции?
Решил сделать ресайз картинок при аплоаде их на сервер, для того чтобы выводить превью. Но столкнулся с проблемой.
До того, как я начал изучать ГД я маленькие картинки определял по размеру меньше какого-то кол-ва Кб.
Сейчас я могу получить размер их и заносить в БД уже просто параметр 1 маленькая 0 большая картинка. Почитав побольше я понял, что могу просто при аплоаде уменьшить их до нужного размера. В поиске я нашел как можно переразмерить картинку
PHP:
$img_name = "test.jpg";
$big_img = ImageCreateFromJPEG ("$img_name"); //получаем ссылку на объект В ПАМЯТИ
$small_img = ImageCreate(100,150); //указываешь ширину, высоту какие хочешь получить
$size = GetImageSize("$img_name");
ImageCopyResized($small_img, $big_img, 0, 0, 0, 0, 100, 150, $size[0], $size[1]);
ImageJPEG($small_img);
PHP:
$width = 100;
$img_source = imagecreatefromjpeg($_FILES['picture']['tmp_name']);
$fn = $row["Parent"]."_".$_REQUEST["id"].".jpg";
// имя файла
$height = round(imagesy($img_source)/(imagesx($img_source) / $width));
$img_desc = imagecreate($width, $height); // HEIGHT
imagecopyresized($img_desc, $img_source, 0, 0, 0,0, $width, $height, imagesx($img_source), imagesy($img_source));
imagejpeg($img_desc, $fn);
imagedestroy($img_desc);
imagedestroy($img_source);