Re: image_filter_jpeg_quality не работает без указания image_filter rotate|resize|crop
Валентин Бартенев
ne at vbart.ru
Sun Oct 7 12:41:40 UTC 2012
On Monday 01 October 2012 20:05:40 mxs kolo wrote:
> Здравствуйте.
>
> > quality_only не очень подходящее название для опции image_filter.
> >
> > 1. crop | resize | test - глаголы, означающие действие, производимое над
> >
> > изображением, а quality_only - нет.
>
> Есть еще одна проблема.
> Она в том, что фильтры resize, crop и rotate принимают параметры
> сразу в строке, а
> convert - нет. Ему нужны дополнительные указания.
Потому, что эти параметры имеют отношение только к этим фильтрам, в то время,
как такие параметры как jpeg-сжатие, резкость и пр. применяются к результату
независимо от фильтра.
> Если-бы можно было указать несколько image_filter и они-бы
> применялись в заданном порядке, то вся эта неопределенность в
> синтаксисе ушла.
Какая именно неопределенность? Нет смысла делать сначала resize, а потом
crop, потому, что resize - это сравнительно дорогая операция, цена которой
пропорциональна размеру изображения. quality и sharp тоже имеют смысл только
по отношению к результату всех преобразований. Поэтому порядок тут может быть
только один. Следовательно единственное, что тут может иметь смысл - это
возможность применять crop и resize одновременно.
> Например так:
> image_filter resize 100 200;
> image_filter convert quality=55 sharp=25 transparency=on;
> или
> mage_filter convert 55,25,on;
> image_filter rotate 90;
В данном случае я вижу лишь попытку заменить нескольких директив с простым
синтаксисом на одну с очень сложным. Это явно ухудшает читабельность.
Также стоит иметь ввиду, что nginx старается следовать декларативному стилю
конфигурации.
> Но это явно будет патч больше что я прислал. Я пока не смотрел как
> сделать цепочку таких фильтров.
Please note, вероятность принятия патча в код nginx обратно пропорциональна
размеру патча.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru