ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 25 августа 2015 — 15:25
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Есть функция:
CODE:
function createphoto ($input,$output) {
$w = 400; // мы получим пропорциональное изображение шириной 400px
$q = 80; // качество jpeg по умолчанию

$f=$input;
$src = imagecreatefromjpeg($f);
// функция imagecreatefromjpeg создает изображение JPEG из файла
// т.е. создаём исходное изображение на основе исходного файла и определяем его размеры

$w_src = imagesx($src);
$h_src= imagesy($src);
// получение ширины и высоты изображения в пикселях

$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
// получение координат для построения нового изображения необходимой нам ширины

$dest = imagecreatetruecolor($w_dest,$h_dest);
// функция imagecreatetruecolor пустое полноцветное изображение размерами x_size и y_size.
// Созданное изображение имеет черный фон.

imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
// Функция imagecopyresized копирует прямоугольные области с одного изображения на другое

// вывод картинки и очистка памяти
imagejpeg($dest,$output,$q);
imagedestroy($dest);
imagedestroy($src);
}

Выбрал её, т.к. код небольшой и всё расписано и какбы понятно.

Проблема в том, что если картинка загружается больше лимитного значения 400, то всё ОК - картинка ументшается. Всё прекрасно.
А вот если картинки загружается меньше этого значения - то она наоборот увеличивается до лимитного значения. И это очень плохо.

Что нужно добавать к коду, чтобы маленькие картинки не увеличивались?

(Отредактировано автором: 25 августа 2015 — 15:27)

 
 
1Bot
Отправлено: 26 августа 2015 — 07:28
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




Gori пишет:
Проблема в том, что если картинка загружается больше лимитного значения 400, то всё ОК - картинка ументшается. Всё прекрасно.
А вот если картинки загружается меньше этого значения - то она наоборот увеличивается до лимитного значения. И это очень плохо.

Нужно после строчки
CODE:
$ratio = $w_src/$w;

вставить проверку
CODE:
if( $ratio<1 ) $ratio=1;

и все.
Т.о. если картинку нужно увеличить, то $ratio<1 и тогда масштаб задаем $ratio=1, т.е. не меняем масштаб.

(Отредактировано автором: 26 августа 2015 — 07:28)

 
 
Gori
Отправлено: 26 августа 2015 — 07:52
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Спасибо!
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Функция уменьшения картинки при загрузке
Темы Форум Информация о теме Обновление
хочу поделиться своим маленьким дополнением
Добавил на страничку сплываюшие картинки ajax, с выпадением меню)
JavaScript Ответов: 16
Автор темы: FoXaV
16 июня 2011 — 14:23
Автор: electron
Картинка на форум с компьютера
Заливка картинки, фото сразу с комьпьютера.
Настройка форума Ответов: 5
Автор темы: Olis
24 августа 2016 — 19:10
Автор: electron
Проблема с капчей - вообще не показывается
не видно картинки
Решение проблем Ответов: 2
Автор темы: vitalyram
28 августа 2013 — 11:38
Автор: 1Bot
Как добавить картинки к подфорумам
Настройка форума Ответов: 1
Автор темы: vikeng
7 февраля 2010 — 14:51
Автор: yura3d
Функция "Игнор"
Обсуждение Ответов: 1
Автор темы: nikk
19 февраля 2016 — 13:11
Автор: electron
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0824]     [ ]