powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Изменение размеров и сжатие картинок на лету
21 сообщений из 21, страница 1 из 1
(PHP) Изменение размеров и сжатие картинок на лету
    #33081413
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, подскажите плиз топик на эту тему, где-то тут помнится пролетал, но поиском что-то не могу.

Или если есть статьи, то можно и статьи
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081479
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
BerkutИли если есть статьи, то можно и статьи PHP FAQ: Как сделать уменьшенную копию картинки?
Делать этого на лету - не надо.
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081619
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторДелать этого на лету - не надо.
Мда... Интересно а что вы подразумеваете под словосочетанием "на лету"?
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081633
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторДелать этого на лету - не надо.
Мда... Интересно а что вы подразумеваете под словосочетанием "на лету"?
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081746
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
ComiljouМда... Интересно а что вы подразумеваете под словосочетанием "на лету"?Интересно, а что ещё можно под этим подразумевать? По запросу от пользователя, естесственно - всё остальное - уже не на лету.
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081760
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, мне все время казалось что "на лету" значит - во время выполнения скрипта. :)
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081838
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Comiljou
Странно, мне все время казалось что "на лету" значит - во время выполнения скрипта. :)А по запросу от пользователя по вашему что будет картинку масштабировать?
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081871
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А без запроса, по вашему?
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081891
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя это все пустая болтовня... Я согласен с вами что в данном случае лучше сразу при аплоаде картинки делать ее уменьшеную версию. Но это только в том случая если у thumbnail-а четко заданные размеры...
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33081951
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вам не мешаю!?

2 *
Спасибо за ссылку, интересная статья. Ранее не натыкался :)

2 Comiljou
Если вам интересно поразмышлять на тему "что же автор имел в виду под словом на лету ", то можете создать отдельный топиг и пофлэймить.

Дабы не смущать никого пусть будет так: на лету == "на лету" (в данном топиге).
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33082030
Comiljou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯ вам не мешаю!?
Нет, что ты, чувствуй себя как дома. :)

PS: Ок флеймить закончил. :)
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33082126
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
ComiljouНо это только в том случая если у thumbnail-а четко заданные размеры...А сервер не жалко будет, если оголтелые пользователи начнут делать превьюшки произвольного размера из картинки 1200x1024? ;)
Но даже в этом случае кэширование никто не отменял.
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33082127
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
ComiljouА без запроса, по вашему?Вот как раз без запроса она уже лежит готовая в кэше :)
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33082790
swept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* ComiljouНо это только в том случая если у thumbnail-а четко заданные размеры...А сервер не жалко будет, если оголтелые пользователи начнут делать превьюшки произвольного размера из картинки 1200x1024? ;)
Приходилось мне таким заниматься, причем 1200x1024 это фигня, задача ставилась так: тупые пользователи создаваемого ресурса должны заливать картинки, слитые с цифровиков, так как научить их предварительно обрабатывать изображения не представляется возможным. Могу сказать только то, что на больших картинках (>=5Mpx) сервак на пару секунд замирает и сделать с этим ничего не удалось... Пока правда все работает...

Честно говоря, требования к четко заданным размерам не понял...
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33082865
Ksnk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
swept Приходилось мне таким заниматься, причем 1200x1024 это фигня, задача ставилась так: тупые пользователи создаваемого ресурса должны заливать картинки, слитые с цифровиков, так как научить их предварительно обрабатывать изображения не представляется возможным. Могу сказать только то, что на больших картинках (>=5Mpx) сервак на пару секунд замирает и сделать с этим ничего не удалось... Пока правда все работает...

Честно говоря, требования к четко заданным размерам не понял...
Вообще говоря, для уменьшения нагрузки на сервер сразу генерится еще 2 файла, превьющка - примерно 150x100, по желанию - около 4-5 кб, Веб-картинка - 800x600 - то, что будет казаться юзеру. обычно, PHPа, которая картинку выводит проверяет наличие файлов и если нет - делает и сохраняет певьюшки, а если есть - просто их гонит. Ну, или-же умно генерируются ссылки на картинки...
Разумно, опять-же мусор по времени собирать-невостребованные превьюшки кронтабом приканчивать...
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33083005
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sweptЧестно говоря, требования к четко заданным размерам не понял...
А требований пока никаких и не предъявляется. :)

Вопрос был в том "как это сделать граммотно, а не изобретать самокат и апргрейдить его до велосипеда"
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33083064
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот написал когдато функцию. Надо было изменить картинки по размеру.
$file - путь к файлу который нужно изменить и его имя.
$width,$height - соответственно размеры до каких нужно изменить.
Хочу что б вы посмотрели и указали на ошибки если таковые имеются.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
function image_thumb($file,$width,$height)
{
$file_type = getimagesize($file);
//определяем пропорции
$w = (float)$width/$file_type[ 0 ];
$h = (float)$height/$file_type[ 1 ];
$type = $file_type[ 2 ];
//подгоняем размер
if ($w > $h) {
	$height = ((int)($file_type[ 1 ]*$w));
}
else {
$width = ((int)($file_type[ 0 ]*$h));
}

//определяем тип файла
if ($file_type[ 2 ] ==  1 )
{
	$image=imagecreatefromgif($file);
}
elseif ($file_type[ 2 ] ==  2 )
{
	$image=imagecreatefromjpeg($file);
}
elseif ($file_type[ 2 ] ==  3 )
{
	$image=imagecreatefrompng($file);
}
else {
	$image=imagecreatefromjpg($file);
}

$image2=@imagecreatetruecolor($width, $height);

imagecopyresized($image2, $image,  0 ,  0 ,  0 ,  0 , $width, $height,$file_type[ 0 ],$file_type[ 1 ]);

if ($file_type[ 2 ] ==  1 )
{
	imagegif($image2,$file);
}
elseif ($file_type[ 2 ] ==  2 )
{
	imagejpeg($image2,$file);
}
elseif ($file_type[ 2 ] ==  3 )
{
	imagepng($image2,$file);
}
else {
	imagejpeg($image2,$file);
}
//удаляем изображения из памяти
imagedestroy($image);
imagedestroy($image2); 
}

...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33083066
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас правда разбираюсь с ImageMagic-ом. Вещь очень мощная, думаю если делать что-то серьезное, то лучше ею, тем более она бесплатна и имеется в наличие почти на всех Линукс серверах хостеров.
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33083267
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 viv

Viv, посмотрел функцию, что ты привел. На самом деле принцип такой же как и в статье, которая в линке (см. выше) :) Правда там код покрасивше :)

Глянь, думаю тебе тоже будет интересно.

P.S. Раньше с графикой в ПХП ни разу не работал. А что за ImageMagic (только на слухУ было)? Это пхпшная фича или расширение типа PEAR?
...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33084154
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел статью, да покрасивше. :) но ту функцию делал на скорую руку, нужно было один раз ею воспользоваться и забыть.

ImageMagic это отдельная программа, которая имеет интерфейс к Perl, Но в основном стоит отталкиваться на внешниие команды
например
mogrify -format jpeg *.tiff
эта команда конвертирует джепег в тиф, хотя тут наверное долго перечислять все преимущества и функции.
Но например таже функция уменьшения размера будет выглядить как
mogrify -geometry 640x480! cockatoo.miff

в пхп их выполняют через system.


...
Рейтинг: 0 / 0
(PHP) Изменение размеров и сжатие картинок на лету
    #33088236
swept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ksnk swept Приходилось мне таким заниматься, причем 1200x1024 это фигня, задача ставилась так: тупые пользователи создаваемого ресурса должны заливать картинки, слитые с цифровиков, так как научить их предварительно обрабатывать изображения не представляется возможным. Могу сказать только то, что на больших картинках (>=5Mpx) сервак на пару секунд замирает и сделать с этим ничего не удалось... Пока правда все работает...

Вообще говоря, для уменьшения нагрузки на сервер сразу генерится еще 2 файла, превьющка - примерно 150x100, по желанию - около 4-5 кб, Веб-картинка - 800x600 - то, что будет казаться юзеру. обычно, PHPа, которая картинку выводит проверяет наличие файлов и если нет - делает и сохраняет певьюшки, а если есть - просто их гонит. Ну, или-же умно генерируются ссылки на картинки...
Разумно, опять-же мусор по времени собирать-невостребованные превьюшки кронтабом приканчивать...

Задача-то так и стояла. Нагрузка на сервер большая при преобразовании огромной картинки в, например, 800х600. Затем 800х600 преобразовывалась в превьюшку, но это уже пролетало быстро...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Изменение размеров и сжатие картинок на лету
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]