Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сложный ресайз фотографий
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Ребят, ни как не могу решить одну проблему:
Дали задание - написать скрипт, который при загрузке любого изображения(горизонтального, вертикального, квадратного), делал ресайз этого изображения размером 300 на 204. Вроде все просто, но есть условие, что если размер загружаемого изображения не пропорционален размеру выходного, то нужно его обрезать так, чтоб после ресайза обрезанного изображения можно было получить не искаженную, без потерь качества, картиночку 300 на 204 (грубо говоря, просто уменьшенную копию)
как обычный ресайз делать - это я знаю. Не могу найти как обрезать изображение(горизонтальное, вертикальное, квадратное) так, чтоб потом провести этот ресайз
----- Еще вечера сегодня было завтра.
Okula
Отправлено: 23 Октября, 2012 - 22:43:15
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
GEN_18, для того чтобы изображение не исказилось придётся изменять один из параметров (ширину или высоту). И уже пропорционально расчитывать второе значение.
В школе пропорции научили считать? Так вот тут так же
dubasua
Отправлено: 23 Октября, 2012 - 22:59:20
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
Сначала пропорционально уменьшаешь картинку до те тех пор пока у тебя высота не станет 204 или ширина 300. А потом и смотришь что тебе нужно обрезать. Как правило обрезают или средину или с левого верхнего угла.
DlTA
Отправлено: 24 Октября, 2012 - 00:01:22
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
есть у меня вот такая функция немного иной функционла, но можно допилить
описание: есть входное, любого размер, и есть выходной размер, исходное пропорционально масштабируется, максимально подгоняясь под выходной размер,
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Okula, вот именно, только как это сделать...я пока не врубил, но пытаюсь ))
DlTA, Ваш скрипт отлично работает, подгонят под заданные параметры(или высоту, или ширину), впрочем, как и писали, нужно доработать, чтоб картинки получались точно выходного размера
но у DlTA все равно лучше
ура, теперь я получаю всегда на выходе изображение размером 300 на xxx
теперь осталось только обрезать его, как сказал dubasua
А как сделаю - выложу скрипт
вот мое наработанное. несколько параметризированное. режет пропорционально картинку согласно размерам и центрирует согласно параметрам
----- Just do it
GEN_18
Отправлено: 24 Октября, 2012 - 10:41:18
Частый гость
Покинул форум
Сообщений всего: 184
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Panoptik АААААААааффигенно!!! как раз то, что нужно
спасибо!!!
И всем спасибо за свои скрипты и помощь.
Но, все же, я для себя, попробую еще усовершенствоать скрипт DlTA
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.