Масштаб и обрезка изображения

Я пытаюсь масштабировать изображение и обрезать его до определенного размера от центра.

В основном, если я хочу, чтобы изображение было размером 240x160 (масштаб 1,5:1), и у меня было изображение размером 900x800 (масштаб 1,125:1), и я использовал следующие настройки:

filters:
    - { name: geometry/scaledownonly, params: [240, 160] }
    - { name: geometry/crop, params: [240, 160, 0, 0] }

Но я не могу получить желаемый результат.

2 ответа

Решение

На вашем сайте image_variations Блок настроек вашего сайта yaml, попробуйте добавить следующее:

image_variation_name:
    reference: ~
    filters:
        - { name: geometry/scaledownonly, params: [240, 160] }
        - { name: thumbnail, params: { size: [240, 160], mode: outbound } }

Блок выше будет делать две вещи. Во-первых, ваше изображение будет уменьшено до соответствующего размера (у вас уже был этот бит). Затем фильтр миниатюр обрезает изображение от середины (центральная обрезка) до желаемых размеров.

Я полагаю, что результат, который вы преследуете, соответствовал бы следующей конфигурации:

...
image_variations:
    your_alias_name:
        reference: ~
        filters:
            thumbnail: { size: [240, 160], mode: outbound, allow_upscale: true }
...

Эта настройка приведет к уменьшенной версии, обрезанной по центру (до нужного вам размера). Это предполагает, что вы используете внедренную систему-образ-псевдоним ezplatform.

Надеюсь, вот ответ, который вы ищете:)

Другие вопросы по тегам