Symfony2: изменение размера загруженных изображений

Есть ли способ изменить размер картинки при загрузке в Symfony2?

ImagineAvalancheBundle позволяет изменять размеры изображений и миниатюр при их получении, что на самом деле не очень эффективно для меня.

Кроме того, объект UploadedFile, полученный при публикации данных, не имеет методов изменения размера...

Любая идея?

3 ответа

Решение

У меня была та же проблема, о которой вы просили.

Основная проблема заключается в том, что пакет изменяет размеры и / или обрезает изображения напрямую. Так что это может занять много времени с большими изображениями и если много изображений ожидается на странице.

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

Я попытался включить memcache пакета image resize, но в моем случае это не работает.

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

Я создал пакет, чтобы можно было загружать его с помощью файла jquery и обрезать с помощью jcrop с некоторыми другими функциями.

ComurImageBundle

Какова ваша цель? Изменить размер и обрезать? Другой?

Я не понимаю, почему вы говорите, что пакет изменяет размер только до миниатюры, так как вы можете точно определить свой пресет изменения размера через config:

  # app/config/config.yml

    avalanche_imagine:
        filters:
            my_thumb:
                type:    thumbnail
                options: { size: [120, 90], mode: outbound }
Другие вопросы по тегам