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

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

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

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

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

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

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

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

Вопрос был в том "как это сделать граммотно, а не изобретать самокат и апргрейдить его до велосипеда"
...
Рейтинг: 0 / 0
25.05.2005, 03:48
    #33083064
viv
viv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Изменение размеров и сжатие картинок на лету
вот написал когдато функцию. Надо было изменить картинки по размеру.
$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
25.05.2005, 04:07
    #33083066
viv
viv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Изменение размеров и сжатие картинок на лету
Сейчас правда разбираюсь с ImageMagic-ом. Вещь очень мощная, думаю если делать что-то серьезное, то лучше ею, тем более она бесплатна и имеется в наличие почти на всех Линукс серверах хостеров.
...
Рейтинг: 0 / 0
25.05.2005, 10:00
    #33083267
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Изменение размеров и сжатие картинок на лету
2 viv

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

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

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

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

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


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

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

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


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