На лету миниатюра / изменение размера генерации изображений
Возможный дубликат:
Изменение размера изображения на лету против хранения измененных изображений
Мне было интересно, что является лучшим, быстрым и наиболее эффективным способом изменения размера изображений на лету? У меня есть идея генерировать миниатюры и изображения специальных размеров из фотогалереи на лету, когда они запрашиваются.
Это хорошая идея? и как лучше?
PHP, Imagemagick, сервер Litespeed
3 ответа
Я успешно создал приложение для рефакторинга изображений на лету, используя Imagemagick. Производительность отличная, и я могу изменить размер / обрезать / водяные знаки / переформатировать и т. Д. Все через спокойный запрос. Я использую memcache для кэширования двоичного двоичного объекта из рефакторизованного изображения, и это дает мне огромный прирост производительности.
РЕДАКТИРОВАТЬ: я первоначально использовал библиотеки Java Imagemagick и продолжал сталкиваться с проблемами, библиотеки PHP гораздо лучше imho (это было около года назад, возможно, что библиотеки Java улучшились)
Я бы рекомендовал НЕ создавать миниатюры на лету или, по крайней мере, кэшировать их (например, сохраняя в HD). Вы можете сгенерировать их, например, с помощью phpThumb: http://phpthumb.sourceforge.net/ который использует GD или ImageMagick.
Надеюсь, это поможет.
Я не знаком со многими опциями, но, насколько мне известно, я бы выбрал ImageMagick, он выполняется довольно быстро при выполнении командной строки. Обновления ImageMagick и обратная совместимость могут быть причиной непредвиденных ошибок. При создании большого количества изображений на лету может быть целесообразно выполнить перелистывание на другом / выделенном сервере. И обязательно кешируй их.