2017-02-01 5 views
0

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

В принципе, если я хочу, чтобы изображение было 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 } } 

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

+0

, где находится эта информация в документах? –

+1

eZ Опубликовать предоставленные фильтры можно найти здесь: https://doc.ez.no/display/DEVELOPER/Images. Однако eZ также позволяет использовать фильтры, предоставляемые LiipImagineBundle, эти документы можно найти здесь: http://symfony.com/doc/master/bundles/LiipImagineBundle/filters.html. – harmstyler

+0

Я знал об официальных фильтрах eZ, но не знал, что могу использовать фильтры 'Liip'. Спасибо, что дали мне знать. –

1

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

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

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

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

+0

дал вам право голоса для 'allow_upscale: true' –