[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт для обработки зображений
Diakon
Добрый день!
Столкнулся с такой проблеммой.
Делаю сайт и там нужно загружать фотографии на сервер. Загружаются 2 фотки - превьюшка (маленькое изображение максимум 80Х80 пикселей) и его полноразмерный вариант. Так вот. Т.к. изображения разные по размеру, то в превьюшке они растягиваются или наоборот сжимаются до размера 80Х80. Кто может подсказать как выводить маленькое изображение на экран так, чтоб не терялись пропорции? Например, загружается прямоугольное превьюшка размером 80Х60. Как вывести его на экран в квадрате 80Х80, но чтоб изображение не теряло пропорций (пустой план залит будет например черным цветом)?
Заранее спасиб!




Спустя 22 минуты, 7 секунд (4.02.2010 - 11:06) ИНСИ написал(а):
Diakon примерно так: Загружаешь фото. Проверяешь его размеры. Если высота или ширина меньше 80, то в imagecopyresampled, заменяешь на 80. При создании изображения, свободное место зальется черным цветом.

Спустя 55 минут, 44 секунды (4.02.2010 - 12:02) Diakon написал(а):
А можно ли как нибудь проверяя размер изображения и определив что он больше чем 80Х80, обрезать края? Т.е. вывести на экран только, например, центральный квадрат такого изображения (80х80 клеток), а все что выходит за края не выводить?

Спустя 24 минуты, 53 секунды (4.02.2010 - 12:27) Soldier Ghost написал(а):

$width_height = getimagesize($_FILES["file"]["tmp_name"];
if($width_height[0] > 80 AND width_height[1] > 80)
{
echo "Разрешение изображение больше 80х80";
}

$width_height[0] - ширина;
$width_height[1] - высота;

Спустя 16 минут, 38 секунд (4.02.2010 - 12:43) arlamar написал(а):
уменьшаем картинку пропорционально:
$percent = 100;
$w = imagesx($img); //родной width
$h = imagesy($img); //родной height
$n_w = 80; //новый width
$n_h = 80; //новый height
while ($w>$n_w || $h>$n_h) {
$result_w = $w*$percent/100;
$result_h = $h*$percent/100;
$percent = $percent - 1;
}

$resut_w и $result_h - новая ширина и высота.

Спустя 30 минут, 25 секунд (4.02.2010 - 13:14) ИНСИ написал(а):
Diakon посмотри тут, я подымал тему, быть может она тебе пригодится http://phpforum.ru/index.php?showtopic=19503&hl=

Спустя 57 минут, 14 секунд (4.02.2010 - 14:11) Diakon написал(а):
Спасибо вам ребят, приступил к изучению smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.