Автор Тема: изменение размера картинки  (Прочитано 9081 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #15 : 30 Января 2003, 17:39:05 »
Stas
Во-первых, сделает. Там есть пакетная обработка фоток. Правда лично я пользуюсь пятым ACDSee - и вполне доволен (а обрабатываю я фоток по сто ежедневно)
TANSTAAFL

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
изменение размера картинки
« Ответ #16 : 30 Января 2003, 21:07:42 »
Кстати, а кто нибудь знает как с ImageMagic делать тумбы правильной формы, т.е. получать скажем всегда 130*90 в нормальной пропорции, не сжатой и не вытянутой. А то сейчас приходится сначала делать тумбу размерами 130*90+ или же 130+*90, а потом ее при помощи crop подгонять под правильные 130*90.
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #17 : 31 Января 2003, 01:34:35 »
Лично мне такие тумбы не нравятся.
Я делаю сохраняя пропорции.
Беру высоту и ширину, и что больше - то и уменьшаю до предела. Если широта допустим, больше высоты, то уменьшаю до 130 и пропорционально - высоту.
А залить незанятое пространство можно и бэкграундом банальным.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
изменение размера картинки
« Ответ #18 : 31 Января 2003, 10:07:31 »
Цитировать
Правда лично я пользуюсь пятым ACDSee - и вполне доволен (а обрабатываю я фоток по сто ежедневно)

Самое мудрое решение - быстро, практично, качественно! Тем же пользуюсь

Цитировать
Лично мне такие тумбы не нравятся.


Stek
thumbnails должны быть пропорциональными - это точно! и нельзя все картинки, например, скриншоты веб-сайтов, если они разной высоты, подгонять под одну с жесткой шириной... теряется правильность форм и корректное отображение... но при  этом все зависит от картинок конечно...

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
изменение размера картинки
« Ответ #19 : 31 Января 2003, 21:45:24 »
Цитировать
thumbnails должны быть пропорциональными

Вот только не надо всех под одну гребенку, часто эта правильность вовсе и не нужна,  она портит весь вид. В то же время ровненькие тумбы очень приятны для глаза :)
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
изменение размера картинки
« Ответ #20 : 05 Февраля 2003, 02:56:59 »
Stek
Согласен. Пример: две различные разметки при просмотре вертикальных и горизонтальных фоток. Дизайн разметки в этом случае определяется главным элементом страницы - большой фоткой. При этом существует еще несколько thumbnailов, которые позволяют просмотреть гругие катинки. Так вот, в этом случае никак нельзя с точки зрения уравновешенности композиции использовать одни и те же превьюшки, когда большая фотка - горизонтальная и вертикальная. Когда она вертикальная, превьюшки должны повторять вертикальные пропорции, когда горизонтальная - горизонтальные. Пример.

Вопрос: как с помощью GD генерить оба варианта превьюшек?

Если загружается, к примеру,  foto.jpg 100*200px (ширина*высота) то:
а) уменьшать пропорционально, сохранять как fotothumbver.jpg (25*50px)
б) уменьшать ширину до 50px, а высоту обрезать до 25px. Сохранять как fotothumbhor.jpg (50*25px)

И то же, только наоборот, если фотка изначально горизонтальная.

Это алгоритм, а можно ли его с помощью gd реализовать? Конкретнее, поддерживает ли gd cropping?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #21 : 05 Февраля 2003, 11:47:26 »
О, господи, еще один.
какой кроппинг?
тут никакая гд не нужна.
Чем у тебя сделан белый фон - в самой он картинке, или  это фон ячейки в таблице - этого НЕ ВИДНО!

Превьюшки делаются разными.
И все.
Не надо ничего резать.
Надо просто уменьшать пропорционально.

Если же ты хочешь, чтобы фона вообще не было, и ради этого резать картинку ,например голову своей модели отрезать - ха-ха, как смешно - то для чего тебе координаты в параметрах функций - для красоты?
« Последнее редактирование: 05 Февраля 2003, 11:52:51 от RomikChef »

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
изменение размера картинки
« Ответ #22 : 05 Февраля 2003, 13:39:40 »
RomikChef
Ты пример-то посмотри повнимательней чуток, прежде чем так эмоционально советовать сделать все банальным бэкграундом. Раз уж я не совсем ясно сформулировал ситуацию словами.

Цитировать
Чем у тебя сделан белый фон - в самой он картинке, или это фон ячейки в таблице - этого НЕ ВИДНО!


Это смотря в какой таблице. Повторюсь: в моем случае разметка меняется. Сморти здесь и здесь. А превьюшки для обоих вариантов разметки желательно сгенерить еще в процессе загрузки больших фоток. И кроппинг нужен.

Цитировать
для чего тебе координаты в параметрах функций - для красоты?


Спасибо. Чем не кроппинг.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
изменение размера картинки
« Ответ #23 : 09 Февраля 2003, 08:16:18 »
от блин языкочесалки :)


$file
="fotos/foto_".$HTTP_GET_VARS["f_id"].".jpg";
$im=imagecreatefromjpeg($file);
$data=getimagesize($file);
$width=$data[0];
if(
$width>150)
 {
 
$height=round((150*$data[1])/$data[0])+1;
 
$width=150;
 }else{
$width=$data[0];
$height=$data[1];
}
$new_im ImageCreateTrueColor($width$height);
imagecopyresized $new_im$im0,0,0,0,$width$height,$data[0],$data[1]);
header("Content-type: image/jpeg");
imagejpeg($new_im,"",90);


Здесь картинка урезается по горизонтали до 150 пикселей
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #24 : 09 Февраля 2003, 13:22:30 »
AlieN
Ну, спасибо, родной - а без тебя мы бы не знали, как это сделать.

и спасибо за функцию. я-то, дурак, вместо imagecopyresized - imagecopyresampled использовал!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
изменение размера картинки
« Ответ #25 : 10 Февраля 2003, 09:11:15 »
RomikChef
Ну это личное дело каждого: я лично основывался на мануале PHP
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
изменение размера картинки
« Ответ #26 : 10 Февраля 2003, 19:19:02 »
AlieN
Спасибо.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #27 : 11 Февраля 2003, 07:10:30 »
AlieN, я тоже.
Но не на таком ископаемом, как у тебя.

dub , скажи, а чего в этом приведенном коде такого, чего ты не знал?
Или свои превьюшки ты не сам генерил?

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
изменение размера картинки
« Ответ #28 : 11 Февраля 2003, 19:23:33 »
RomikChef Не то чтобы не знал. Общее представление имел о функциях работы с изображениями, но на практике не использовал пока. Свои превьюшки резал ручками. А сейчас нужно будет этот процесс автоматизировать. Так что любой живой пример впрок.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
изменение размера картинки
« Ответ #29 : 11 Февраля 2003, 20:50:12 »
Настоятельно рекомендую imagemagick
я сам раньше пользовался GD, но imagemagick на порядку лучше. Удобнее, мощнее, проще, ширше.
Хотя для простого уменьшения джипегов подойдет и imagecopyresampled

 

Sitemap 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