| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Графика > копирование части изображения |
| Автор: Skywalker 9.2.2004, 09:38 | ||
| Привет. Я сейчас пишу движок фотогаллерей и у меня появилась потребность скопировать часть изображения с помощью функций imagecopyresampled или imagecopyresized. В прнципе это должен быть скрипт, который делает thumbnail из любой фотографии. Если фотка горизонтальная(ширины больше высоты), то мы просто вырезаем кусок из центра что бы получилась вертикальная фотка. Вот только не получается вырезать вот код, который я написал:
если использовать эту функцию: когда фотка вертикальная то все работает, а если фотка горизонтальная, то область, которую я вырезаю, смещается. Если не поняли возмите эту функцию и всаьвте в нее горизонтальную фотку. Помогите либо доработать эту функцию либо помогите найти альтернативное решение. |
| Автор: Sardar 9.2.2004, 17:43 |
| В этой строке проблема: $dst_img = @imagecreate($new_h,$new_w); Замени на: $dst_img = @imagecreate($new_w,$new_h);. У меня полученная картинка это верх убожества |
| Автор: Skywalker 9.2.2004, 19:03 |
| в том то и дело что не надо заменять. Попробую так: мне нужно чтобы из картинки(1) размером(например) 100(высота) px на 150(ширина) px получалась картинка(2) 150(высота) px на 100(ширина) с пропорционально вырезанной из середины картинки(1) частью, то есть это получается преобразование из горизонтальной фотографии в вертикальную. |
| Автор: Sardar 9.2.2004, 19:12 |
| Тогда я не пойму в чем проблема? Где и что смещается? Если фотку посередине надо поставить то задай ее координаты в imagecopyresized(). У меня такой результат: |
| Автор: Skywalker 9.2.2004, 19:18 |
| как видишь после выполнения скрипта внизу остается коричневое пятно, а мне надо что бы вместо него была фотка. |
| Автор: Sardar 9.2.2004, 21:26 | ||
| Если я тебя правильно понял... Функция просто подгоняет картинку под заданный размер сохраняя пропорции. Все что не влезает в новую картинку - отсекается.
|
| Автор: Skywalker 9.2.2004, 21:41 |
| спасибо большое :-) |