PHP: загрузка изображений, миниатюры, конкретные культуры - PullRequest
1 голос
/ 03 августа 2010

Я создал скрипт, который реализует jCrop для обрезки изображения перед его отображением.В CMS клиент должен иметь возможность загружать логотипы, которые соответствуют определенному размеру, определенному нашим дизайнером.

Так что я думаю, что я ищу что-то, что может обрезать, изменять размеры и сохранять оригинал,версия определенного размера и потенциально другие размеры миниатюр.

Кто-нибудь может предложить хороший твердый и довольно пуленепробиваемый метод для этого?До сих пор я использую GD и передаю координаты jCrop для создания изображения.Это вызывает хаос для клиентов, так как они загружают огромные и маленькие изображения и, очевидно, сталкиваются с различными проблемами, а результаты некорректны.

Я подумал, что класс может быть идеей, и я нашел это, http://pear.php.net/package/Image_Transform хотя на самом деле я еще не пробовал.

Поскольку загрузка изображений является такой популярной особенностью сайтов в настоящее время, что люди советуют для обработки этой потенциальной черной дыры пользовательского ввода?

В настоящее время я проверяю при загрузке <100kb и bmp, gif, jpg и png </p>

Ответы [ 2 ]

1 голос
/ 03 августа 2010

По этой ссылке есть довольно солидный класс для работы с изображениями: http://www.codewalkers.com/c/a/GUI-Code/PHP-Image-Manipulation-Class-10/

Выдержка со страницы, указанной выше:

Этот класс PHP может использоваться для выполнения нескольких типовопераций с изображениями.

Может:

  • Масштабировать изображения, чтобы соответствовать заданной ширине или высоте, сохраняя (или нет) исходное соотношение сторон
  • Отразить изображенияпо горизонтали или вертикали
  • Поворот изображений на заданный угол, заполнение пустых пространств заданным цветом
  • Все операции сохраняют прозрачность!
  • Класс выполняет все проверки ошибок дляисходный и целевой файл, так что вам не нужно беспокоиться об этом

Класс поддерживает загрузку и сохранение изображений в форматах GIF, JPEG и PNG.

Код очень хорошзадокументировано и есть хорошая документация и пример для начала

0 голосов
/ 04 августа 2010

Удалось получить достаточно солидные решения с помощью класса PEAR!: D

...