Symfony2: изменение размера загруженных изображений
Есть ли способ изменить размер картинки при загрузке в Symfony2?
ImagineAvalancheBundle позволяет изменять размеры изображений и миниатюр при их получении, что на самом деле не очень эффективно для меня.
Кроме того, объект UploadedFile, полученный при публикации данных, не имеет методов изменения размера...
Любая идея?
3 ответа
У меня была та же проблема, о которой вы просили.
Основная проблема заключается в том, что пакет изменяет размеры и / или обрезает изображения напрямую. Так что это может занять много времени с большими изображениями и если много изображений ожидается на странице.
Так что я решил эту проблему, вызвав сразу после загрузки изображения resize()
функция к изображению. Поэтому я сохраняю (копирую) измененный размер изображения в файловую систему на сервере. Очевидно, я храню путь к изображению в базе данных, чтобы при необходимости можно было загрузить его напрямую.
Я попытался включить memcache пакета image resize, но в моем случае это не работает.
У меня была та же проблема для проекта, который я на самом деле разрабатываю. Я много искал в сети и не нашел ничего действительно производительного, а также простого в использовании для людей, не являющихся техническими специалистами.
Я создал пакет, чтобы можно было загружать его с помощью файла jquery и обрезать с помощью jcrop с некоторыми другими функциями.
Какова ваша цель? Изменить размер и обрезать? Другой?
Я не понимаю, почему вы говорите, что пакет изменяет размер только до миниатюры, так как вы можете точно определить свой пресет изменения размера через config:
# app/config/config.yml
avalanche_imagine:
filters:
my_thumb:
type: thumbnail
options: { size: [120, 90], mode: outbound }