Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Уменьшить картинку
 
 автор: LEM   (09.10.2009 в 10:33)   письмо автору
 
 

Задачи 2.
1. Я хочу что бы на входе можно было загружать и GIF и JPG файлы, а на выходе был все время
JPG!
С незначительной потерей качества.
2. Собственно как уменьшить картинку я знаю, но мне надо именно любой размер подогнать под H: 300
W: 160
И получается у меня картинка уже получерно-белая, и вытягиваются некоторые оч некрасиво.
Подскажите кто сталкивался, можно без кода, может какой нить алгоритм уменьшения есть.
Или Еще какой нибудь способ.
Цель - что бы все фотографии были желательно одинакового размера.

  Ответить  
 
 автор: neokortex   (09.10.2009 в 10:35)   письмо автору
 
   для: LEM   (09.10.2009 в 10:33)
 

я так пологаю только уменьшение + обрезка. Самого данный вопрос интересует

  Ответить  
 
 автор: LEM   (09.10.2009 в 10:56)   письмо автору
 
   для: neokortex   (09.10.2009 в 10:35)
 

Обрезка крайне не желательна.
Я помню вроде видел где то статью, там как то или несколько раз меняется размер или что то в этом роде, на выходе все ок, потеря качества не значительная

  Ответить  
 
 автор: neokortex   (09.10.2009 в 11:19)   письмо автору
 
   для: LEM   (09.10.2009 в 10:56)
 

невозможно привести картинку к определенным размерам при этом сохранив пропорции. попробуйте хотябы в фотошопе такое сделать.
поэтому я и говорю что применять нужно "кадрирование", т.е. если это например превью (что скорей всего) то можно пользователю показать уменьшенную обрезаную копию картнки - фрагмент. но как ее резать?

  Ответить  
 
 автор: LEM   (09.10.2009 в 11:39)   письмо автору
 
   для: neokortex   (09.10.2009 в 11:19)
 

Нет , это фотографии.

  Ответить  
 
 автор: Diplex   (09.10.2009 в 14:10)   письмо автору
 
   для: LEM   (09.10.2009 в 11:39)
 

Если хотите привести привести все фотографии к одному размеру, а они все разных размеров, то без обрезания не обойтись. Я как-то такое делал, уже не помню как, но основывался на цетре фотографии... т.е. уменьшал пропорции так, чтобы одна сторона была например 300px, смотрел другую сторону, брал её размер, находил центр этого размера, и манипулировал значениями так, чтобы в общем итоге у меня осталось например 160 (т.е. по 80px в каждую сторону от центра, а у нас например 110px в одну сторону, а весь размер 220px, тогда мы 110-80=30, тем самым мы узнаем какой размер с края нам нужно отрезать. Вот как-то так...

  Ответить  
 
 автор: LEM   (12.10.2009 в 12:07)   письмо автору
 
   для: Diplex   (09.10.2009 в 14:10)
 

ага , и так мы будем иметь нос, за место лица ))

  Ответить  
 
 автор: Рома   (12.10.2009 в 12:15)   письмо автору
 
   для: LEM   (12.10.2009 в 12:07)
 

а что вам мешает уменьшить сохранив пропорциональность? вконтакте картинки никто не режет, незавимо от того, очень длинная она или очень широкая. пусть пользователи сами подстраиваются, вы им просто порекомендуйте наилучшую пропорцию.

  Ответить  
 
 автор: Sergeich   (12.10.2009 в 12:38)   письмо автору
 
   для: Рома   (12.10.2009 в 12:15)
 

Фото на выходе из цифровика имеет коэффициент соотношения сторон 1.33(3). Можно его использовать. Если же фото будет не стандартных размеров, тогда выводить его в браузер и предлагать пользователю выбрать нужную его часть (посредством программы на JavaScript, например). А дальше дело техники - на сервер передаются соответствующие параметры посредством JS и подставляются в функцию...

  Ответить  
 
 автор: Рома   (12.10.2009 в 12:44)   письмо автору
 
   для: Sergeich   (12.10.2009 в 12:38)
 

А если на выходе окажется кооф. 0.75? Сколько же придется срезать, чтоб превратить его в 1.33? По всякому же фотографируют.

  Ответить  
 
 автор: LEM   (12.10.2009 в 14:12)   письмо автору
 
   для: Рома   (12.10.2009 в 12:44)
 

вот и я о том,
хотя брат мне сегодня сказал что я просто с потолка взял разрешение, а так делать нельзя,
есть пропорции h k w , если их соблюдать то все будет нормально...
И подогнать можно под любой размер , но в этих пропорциях..
-
В принципе все так, а если фотка не с цифровика, а обрезана или еще что..?

  Ответить  
 
 автор: tvv123456   (12.10.2009 в 14:17)   письмо автору
 
   для: LEM   (12.10.2009 в 14:12)
 

Думаю вам полезно будет почитать http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145 почти универсальный скрипт работы с размерами изображения получается. При небольших изменнениях можно получить все что угодно

  Ответить  
 
 автор: Diplex   (12.10.2009 в 17:28)   письмо автору
 
   для: LEM   (12.10.2009 в 14:12)
 

Зря Вы так скептически к обрезке относитесь, вот приведу пример вертикальной фотки, где лицо находится вверху:

http://www.sharepix.ru/53355o312/

при обрезании в "квадрат", получаем такое изображение:

http://www.sharepix.ru/533544312/

вполне можно понять, что там находится, а это можно считать "сложным" случаем.

  Ответить  
 
 автор: Sergeich   (12.10.2009 в 15:01)   письмо автору
 
   для: Рома   (12.10.2009 в 12:44)
 

Я не вижу в этом никаких проблем - если коэффициент соответствует нуждам, то фото просто уменьшается, если нет - выводится в браузер и предлагается пользователю выбрать нужную его часть с размерами, уже соответствующими соответствующей пропорции. Это не так сложно как кажется. Создать div соответствующих пропорций и заполнить его полупрозрачной картинкой. Далее, по какому-либо событию он начинает двигаться относительно Вашей фото и после совмещения при следующем событии программа вычисляет позицию и размеры фото и div на странице, потом полученные данные необходимым образом обрабатываются и передаются серверу, где картинка обрезается согласно выбранным пользователем параметрам.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования