Модуль ngx_http_image_filter_module (0.7.54+) — это фильтр
для преобразования изображений в форматах JPEG, GIF и PNG.
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-http_image_filter_module .
Пример конфигурации
location /img/ {
proxy_pass http://backend;
image_filter resize 150 100;
image_filter rotate 90;
error_page 415 = /empty;
}
location = /empty {
empty_gif;
}
Директивы
синтаксис:
|
image_filter off ;
image_filter test ;
image_filter size ;
image_filter
rotate
90 | 180 |
270 ;
image_filter
resize
ширина
высота ;
image_filter
crop
ширина
высота ;
|
умолчание:
|
image_filter off;
|
контекст:
|
location
|
Задаёт тип преобразования изображения:
off
-
отключает обработку данным модулем во вложенном location.
test
-
проверяет, что ответ действительно является изображением
в формате JPEG, GIF или PNG.
В противном случае возвращается ошибка
415 (Unsupported Media Type).
size
-
выдаёт информацию об изображении в формате JSON, например:
{ "img" : { "width": 100, "height": 100, "type": "gif" } }
В случае ошибки выдаётся
{}
rotate
90 |180 |270
-
поворачивает изображение против часовой стрелки на указанное число градусов.
В значении параметра допустимо использование переменных.
Можно использовать как отдельно, так и совместно с преобразованиями
resize и crop .
resize
ширина
высота
-
пропорционально уменьшает изображение до указанных размеров.
Если требуется уменьшить только по одному измерению, то в качестве второго
можно указать “
- ”.
В случае ошибки сервер возвращает код
415 (Unsupported Media Type).
В значениях параметров допустимо использование переменных.
При использовании совместно с rotate ,
поворот изображения происходит после
уменьшения размеров изображения.
crop
ширина
высота
-
пропорционально уменьшает изображение до размера большей стороны
и обрезает лишние края по другой стороне.
Если требуется уменьшить только по одному измерению, то в качестве второго
можно указать “
- ”.
В случае ошибки сервер возвращает код
415 (Unsupported Media Type).
В значениях параметров допустимо использование переменных.
При использовании совместно с rotate ,
поворот изображения происходит до
уменьшения размеров изображения.
синтаксис:
|
image_filter_buffer размер ;
|
умолчание:
|
image_filter_buffer 1M;
|
контекст:
|
http , server , location
|
Задаёт максимальный размер буфера для чтения изображения.
При превышении размера сервер вернёт ошибку
415 (Unsupported Media Type).
синтаксис:
|
image_filter_interlace on | off ;
|
умолчание:
|
image_filter_interlace off;
|
контекст:
|
http , server , location
|
Эта директива появилась в версии 1.3.15.
Если включено, то итоговые изображения будут с чересстрочностью.
В случае JPEG итоговые изображения будут в формате “progressive JPEG”.
синтаксис:
|
image_filter_jpeg_quality качество ;
|
умолчание:
|
image_filter_jpeg_quality 75;
|
контекст:
|
http , server , location
|
Задаёт желаемое качество преобразованного изображения
в формате JPEG.
Допустимые значения находятся в диапазоне от 1 до 100.
Меньшим значениям обычно соответствует худшее качество изображения
и меньший объём передаваемых данных.
Максимальное рекомендуемое значение — 95.
В значении параметра допустимо использование переменных.
синтаксис:
|
image_filter_sharpen процент ;
|
умолчание:
|
image_filter_sharpen 0;
|
контекст:
|
http , server , location
|
Повышает резкость итогового изображения.
Процент резкости может быть больше 100.
Значение 0 отключает повышение резкости.
В значении параметра допустимо использование переменных.
синтаксис:
|
image_filter_transparency on |off ;
|
умолчание:
|
image_filter_transparency on;
|
контекст:
|
http , server , location
|
Определяет, сохранять ли прозрачность при обработке изображений
в формате GIF и в формате PNG с цветами, заданными палитрой.
Потеря прозрачности позволяет получить более качественное изображение.
Прозрачность альфа-канала в формате PNG сохраняется всегда.
|